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