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