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