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 nixpkgs.config.permittedInsecurePackages = [ 88 "libsoup-2.74.3" 89 ]; 90 91 xdg.configFile."waybar/config.jsonc".source = ./waybar/config.jsonc; 92 programs.waybar = { 93 enable = true; 94 95 style = builtins.readFile ./waybar/style.css; 96 }; 97 98 programs.ssh = { 99 enable = true; 100 extraConfig = '' 101 Host * 102 IdentityAgent ~/.1password/agent.sock 103 ''; 104 }; 105 106 # All your user-specific packages 107 home.packages = with pkgs; [ 108 helix 109 git 110 jujutsu # jj-cli 111 htop 112 zellij # terminal multiplexer 113 alacritty 114 wofi # Application launcher (or pkgs.rofi-wayland) 115 waybar # Status bar (highly recommended) 116 mako # Notification daemon 117 swww # For setting wallpapers 118 cliphist # Clipboard history manager 119 pavucontrol # GUI for PulseAudio/PipeWire volume control 120 fd 121 ripgrep 122 yazi # tui file browser 123 gh # github cli 124 signal-desktop 125 xwayland-satellite # for running x11 apps 126 nixfmt-rfc-style # nix formatter 127 nil # nix language server 128 atac # postman-like TUI 129 rsync # file sync utility 130 udiskie # for mounting external drives 131 darktable # photo editing 132 zoxide 133 chromium 134 claude-code 135 nautilus # file browser 136 sqlitebrowser 137 gnome-characters # symbol picker 138 sendme # file transfer 139 140 # --- FONTS ARE IMPORTANT --- 141 noto-fonts 142 noto-fonts-cjk-sans 143 noto-fonts-emoji 144 font-awesome # For icons in waybar, etc. 145 nerd-fonts.jetbrains-mono 146 # --- POLKIT AGENT (for 1Password GUI, etc.) --- 147 lxqt.lxqt-policykit # Lightweight polkit agent 148 ]; 149 150 services.udiskie = { 151 enable = true; 152 tray = "auto"; 153 automount = true; 154 }; 155 156 programs.direnv.enable = true; 157 158 programs.zellij = { 159 enable = true; 160 settings = { 161 keybinds = { 162 unbind = [ "Ctrl q" ]; 163 }; 164 }; 165 }; 166 167 programs.zen-browser.enable = true; 168 # programs.swww.enable = true; 169 programs.zoxide = { 170 enable = true; 171 enableFishIntegration = true; 172 }; 173 174 programs.obs-studio = { 175 enable = true; 176 plugins = with pkgs.obs-studio-plugins; [ 177 obs-backgroundremoval 178 ]; 179 }; 180 181 # Program configurations 182 programs.git = { 183 enable = true; 184 userName = "seanaye"; 185 userEmail = "hello@seanaye.ca"; 186 extraConfig = { 187 init.defaultBranch = "main"; 188 }; 189 }; 190 programs.jujutsu = { 191 enable = true; 192 settings.user = { 193 email = "hello@seanaye.ca"; 194 name = "Sean Aye"; 195 }; 196 }; 197 198 programs.home-manager.enable = true; 199 200 programs.fish = { 201 enable = true; 202 interactiveShellInit = '' 203 set fish_greeting 204 ''; 205 }; 206 207 programs.starship = { 208 enable = true; 209 enableFishIntegration = true; 210 }; 211 212 catppuccin = { 213 enable = true; 214 flavor = "frappe"; 215 }; 216 217 programs.alacritty = { 218 enable = true; 219 settings = { 220 window = { 221 decorations = "none"; 222 }; 223 }; 224 225 }; 226 227 programs.helix = { 228 enable = true; 229 settings = { 230 editor = { 231 bufferline = "multiple"; 232 file-picker = { 233 hidden = false; 234 git-ignore = true; 235 }; 236 cursor-shape = { 237 insert = "bar"; 238 normal = "block"; 239 select = "underline"; 240 }; 241 line-number = "relative"; 242 cursorline = true; 243 auto-format = true; 244 end-of-line-diagnostics = "hint"; 245 soft-wrap = { 246 enable = true; 247 }; 248 lsp = { 249 display-inlay-hints = true; 250 display-messages = true; 251 display-progress-messages = true; 252 }; 253 inline-diagnostics = { 254 cursor-line = "hint"; 255 }; 256 }; 257 keys = { 258 normal = { 259 esc = [ 260 "keep_primary_selection" 261 "collapse_selection" 262 ]; 263 }; 264 265 }; 266 }; 267 languages = { 268 language = [ 269 { 270 name = "nix"; 271 auto-format = true; 272 formatter = { 273 command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt"; 274 }; 275 } 276 { 277 name = "rust"; 278 auto-format = true; 279 formatter = { 280 command = "rustfmt"; 281 args = [ 282 "--edition" 283 "2024" 284 ]; 285 }; 286 indent = { 287 tab-width = 4; 288 unit = "t"; 289 }; 290 } 291 { 292 name = "astro"; 293 auto-format = true; 294 formatter = { 295 command = "npx"; 296 args = [ 297 "prettier" 298 "." 299 "--write" 300 ]; 301 }; 302 } 303 ]; 304 }; 305 }; 306 307 # Session variables 308 home.sessionVariables = { 309 EDITOR = "hx"; 310 VISUAL = "hx"; 311 SUDO_EDITOR = "hx"; 312 # NIXOS_OZONE_WL = "1"; 313 # QT_QPA_PLATFORM = "wayland;xcb"; 314 # QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; 315 # SDL_VIDEODRIVER = "wayland"; 316 # XDG_CURRENT_DESKTOP = "niri"; 317 # XDG_SESSION_TYPE = "wayland"; 318 SSH_AUTH_SOCK = "~/.1password/agent.sock"; 319 }; 320 321 # Set the state version for Home Manager 322 home.stateVersion = "25.05"; 323}