me like nix
0

Configure Feed

Select the types of activity you want to include in your feed.

1# This is the configuration for your user 'sean' 2{ pkgs, inputs, ... }: 3 4{ 5 # Import the home-manager modules you want to use 6 imports = [ 7 inputs.catppuccin.homeModules.catppuccin 8 inputs.niri.homeModules.niri 9 inputs.zen-browser.homeModules.beta 10 ]; 11 12 # Niri window manager settings, now controlled by the imported module 13 programs.niri = { 14 enable = true; 15 settings = { 16 layout = { 17 struts = { 18 top = 0; 19 bottom = 0; 20 }; 21 }; 22 gestures = { 23 hot-corners = { 24 }; 25 }; 26 binds = { 27 "Mod+d".action.spawn = [ 28 "wofi" 29 "--show" 30 "drun" 31 "--prompt" 32 "Search..." 33 ]; 34 "Mod+a".action.spawn = "alacritty"; 35 "Mod+h".action = { 36 focus-column-left = { }; 37 }; 38 "Mod+j".action = { 39 focus-workspace-down = { }; 40 }; 41 "Mod+k".action = { 42 focus-workspace-up = { }; 43 }; 44 "Mod+l".action = { 45 focus-column-right = { }; 46 }; 47 "Mod+p".action = { 48 show-hotkey-overlay = { }; 49 }; 50 "Mod+o".action = { 51 toggle-overview = { }; 52 }; 53 "Mod+q".action = { 54 close-window = { }; 55 }; 56 "Mod+s".action = { 57 screenshot = { 58 show-pointer = true; 59 }; 60 }; 61 "Mod+1".action = { 62 set-column-width = "100%"; 63 }; 64 "Mod+2".action = { 65 set-column-width = "50%"; 66 }; 67 }; 68 outputs = { 69 "DP-1" = { 70 scale = 2.0; 71 }; 72 }; 73 spawn-at-startup = [ 74 { command = [ "xwayland-satellite" ]; } 75 { command = [ "swww-daemon" ]; } 76 { command = [ "mako" ]; } 77 { command = [ "waybar" ]; } 78 { command = [ "wl-paste --watch cliphist store" ]; } 79 ]; 80 environment = { 81 DISPLAY = ":0"; 82 }; 83 }; 84 }; 85 86 nixpkgs.config.allowUnfree = true; 87 88 xdg.configFile."waybar/config.jsonc".source = ./waybar/config.jsonc; 89 programs.waybar = { 90 enable = true; 91 92 style = builtins.readFile ./waybar/style.css; 93 }; 94 95 programs.ssh = { 96 enable = true; 97 extraConfig = '' 98 Host * 99 IdentityAgent ~/.1password/agent.sock 100 ''; 101 }; 102 103 # All your user-specific packages 104 home.packages = with pkgs; [ 105 helix 106 git 107 jujutsu # jj-cli 108 htop 109 zellij # terminal multiplexer 110 alacritty 111 wofi # Application launcher (or pkgs.rofi-wayland) 112 waybar # Status bar (highly recommended) 113 mako # Notification daemon 114 swww # For setting wallpapers 115 cliphist # Clipboard history manager 116 pavucontrol # GUI for PulseAudio/PipeWire volume control 117 fd 118 ripgrep 119 yazi # tui file browser 120 gh # github cli 121 signal-desktop 122 xwayland-satellite # for running x11 apps 123 nixfmt-rfc-style # nix formatter 124 nil # nix language server 125 atac # postman-like TUI 126 rsync # file sync utility 127 udiskie # for mounting external drives 128 # darktable # photo editing this wasn't working last time, try again in the future 129 zoxide 130 chromium 131 claude-code 132 nautilus # file browser 133 sqlitebrowser 134 gnome-characters # symbol picker 135 136 # --- FONTS ARE IMPORTANT --- 137 noto-fonts 138 noto-fonts-cjk-sans 139 noto-fonts-emoji 140 font-awesome # For icons in waybar, etc. 141 nerd-fonts.jetbrains-mono 142 # --- POLKIT AGENT (for 1Password GUI, etc.) --- 143 lxqt.lxqt-policykit # Lightweight polkit agent 144 ]; 145 146 services.udiskie = { 147 enable = true; 148 tray = "auto"; 149 automount = true; 150 }; 151 152 programs.direnv.enable = true; 153 154 programs.zen-browser.enable = true; 155 # programs.swww.enable = true; 156 programs.zoxide = { 157 enable = true; 158 enableFishIntegration = true; 159 }; 160 161 programs.obs-studio = { 162 enable = true; 163 plugins = with pkgs.obs-studio-plugins; [ 164 obs-backgroundremoval 165 ]; 166 }; 167 168 # Program configurations 169 programs.git = { 170 enable = true; 171 userName = "seanaye"; 172 userEmail = "hello@seanaye.ca"; 173 extraConfig = { 174 init.defaultBranch = "main"; 175 }; 176 }; 177 programs.jujutsu = { 178 enable = true; 179 settings.user = { 180 email = "hello@seanaye.ca"; 181 name = "Sean Aye"; 182 }; 183 }; 184 185 programs.home-manager.enable = true; 186 187 programs.fish = { 188 enable = true; 189 interactiveShellInit = '' 190 set fish_greeting 191 ''; 192 }; 193 194 programs.starship = { 195 enable = true; 196 enableFishIntegration = true; 197 }; 198 199 catppuccin = { 200 enable = true; 201 flavor = "frappe"; 202 }; 203 204 programs.alacritty = { 205 enable = true; 206 settings = { 207 window = { 208 decorations = "none"; 209 }; 210 }; 211 212 }; 213 214 programs.helix = { 215 enable = true; 216 settings = { 217 editor = { 218 bufferline = "multiple"; 219 file-picker = { 220 hidden = false; 221 git-ignore = true; 222 }; 223 cursor-shape = { 224 insert = "bar"; 225 normal = "block"; 226 select = "underline"; 227 }; 228 line-number = "relative"; 229 cursorline = true; 230 auto-format = true; 231 end-of-line-diagnostics = "hint"; 232 soft-wrap = { 233 enable = true; 234 }; 235 lsp = { 236 display-inlay-hints = true; 237 display-messages = true; 238 display-progress-messages = true; 239 }; 240 inline-diagnostics = { 241 cursor-line = "hint"; 242 }; 243 }; 244 keys = { 245 normal = { 246 esc = [ 247 "keep_primary_selection" 248 "collapse_selection" 249 ]; 250 }; 251 252 }; 253 }; 254 languages = { 255 language = [ 256 { 257 name = "nix"; 258 auto-format = true; 259 formatter = { 260 command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt"; 261 }; 262 } 263 { 264 name = "rust"; 265 auto-format = true; 266 formatter = { 267 command = "${pkgs.rustfmt}/bin/rustfmt --edition 2024"; 268 }; 269 indent = { 270 tab-width = 4; 271 unit = "t"; 272 }; 273 } 274 ]; 275 }; 276 }; 277 278 # Session variables 279 home.sessionVariables = { 280 EDITOR = "hx"; 281 VISUAL = "hx"; 282 SUDO_EDITOR = "hx"; 283 # NIXOS_OZONE_WL = "1"; 284 # QT_QPA_PLATFORM = "wayland;xcb"; 285 # QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; 286 # SDL_VIDEODRIVER = "wayland"; 287 # XDG_CURRENT_DESKTOP = "niri"; 288 # XDG_SESSION_TYPE = "wayland"; 289 SSH_AUTH_SOCK = "~/.1password/agent.sock"; 290 }; 291 292 # Set the state version for Home Manager 293 home.stateVersion = "25.05"; 294}