Personal NixOS flake

consolidating all home-manager stuff into one file for now + some cleanup

+167 -278
-13
dev/default.nix
··· 1 - { 2 - imports = [ 3 - ./git.nix 4 - #./lang 5 - ]; 6 - 7 - programs = { 8 - direnv = { 9 - enable = true; 10 - nix-direnv.enable = true; 11 - }; 12 - }; 13 - }
-11
dev/git.nix
··· 1 - { 2 - programs.git = { 3 - enable = true; 4 - userName = "m1emi1em"; 5 - userEmail = "m1emi1em@proton.me"; 6 - 7 - extraConfig = { 8 - init.defaultBranch = "main"; 9 - }; 10 - }; 11 - }
-9
dev/lang/clj.nix
··· 1 - {pkgs, ...}: 2 - { 3 - home.packages = with pkgs; [ 4 - leiningen 5 - babashka 6 - clojure 7 - ]; 8 - 9 - }
-9
dev/lang/default.nix
··· 1 - { 2 - imports = [ 3 - ./clj.nix 4 - ./js.nix 5 - ./java.nix 6 - ./lisp.nix 7 - ./rust.nix 8 - ]; 9 - }
-6
dev/lang/java.nix
··· 1 - {pkgs, ...}: 2 - { 3 - home.packages = with pkgs; [ 4 - openjdk 5 - ]; 6 - }
-7
dev/lang/js.nix
··· 1 - {pkgs, ...}: 2 - { 3 - home.packages = with pkgs; [ 4 - nodejs 5 - pnpm 6 - ]; 7 - }
-6
dev/lang/lisp.nix
··· 1 - {pkgs, ...}: 2 - { 3 - home.packages = with pkgs; [ 4 - sbcl 5 - ]; 6 - }
-7
dev/lang/rust.nix
··· 1 - {pkgs, ...}: 2 - { 3 - home.packages = with pkgs; [ 4 - rustc 5 - cargo 6 - ]; 7 - }
+166 -4
home.nix
··· 50 50 # libratbag # gui 51 51 52 52 libnotify # gui 53 + 54 + pandoc 55 + texlive.combined.scheme-full 56 + 57 + osu-lazer-bin 58 + 59 + hyprpolkitagent # Auth Agent # gui 60 + hyprpaper 61 + dunst # Notification Daemon # gui 62 + waybar # Status bar # gui 63 + waypaper # gui 64 + 65 + xdg-desktop-portal-hyprland # gui 66 + wofi # gui 67 + hyprpicker # gui 68 + 69 + hypridle # gui 70 + hyprlock # gui 71 + #hyprsysteminfo 72 + hyprsunset # gui 73 + 74 + 75 + rmpc 76 + kitty 53 77 ]; 54 78 in 55 79 { ··· 60 84 home.packages = unstablePackages; 61 85 62 86 imports = [ 63 - ./stuff 64 - ./dev 65 - ./lang 66 - ./home/emily 87 + # ./lang 88 + # ./home/emily 67 89 ]; 68 90 69 91 # nixpkgs.config.packageOverrides = pkgs: { ··· 162 184 163 185 home.stateVersion = "24.11"; 164 186 programs.home-manager.enable = true; 187 + 188 + ######################################################################## 189 + # everything from here is me stuffing this all into ONE file (for now) # 190 + ######################################################################## 191 + 192 + ############# 193 + # from dev/ # 194 + ############# 195 + 196 + programs = { 197 + direnv = { 198 + enable = true; 199 + nix-direnv.enable = true; 200 + }; 201 + git = { 202 + enable = true; 203 + userName = "m1emi1em"; 204 + userEmail = "m1emi1em@proton.me"; 205 + 206 + extraConfig = { 207 + init.defaultBranch = "main"; 208 + }; 209 + }; 210 + }; 211 + 212 + ############### 213 + # from stuff/ # 214 + ############### 215 + 216 + services = { 217 + mpd = { 218 + enable = true; 219 + musicDirectory = "${config.xdg.userDirs.music}"; 220 + extraConfig = '' 221 + audio_output { 222 + type "pipewire" 223 + name "MPD (Music Player Daemon)" 224 + } 225 + ''; 226 + network.startWhenNeeded = true; 227 + }; 228 + 229 + mpd-discord-rpc = { 230 + enable = true; 231 + settings = { 232 + hosts = [ "localhost:6600" ]; 233 + format = { 234 + details = "$title"; 235 + state = "On $album by $artist"; 236 + }; 237 + }; 238 + }; 239 + 240 + mpd-mpris = { 241 + enable = true; 242 + mpd = { 243 + useLocal = true; 244 + }; 245 + }; 246 + 247 + mpdris2 = { 248 + enable = true; 249 + notifications = true; 250 + }; 251 + }; 252 + 253 + programs.kitty = { 254 + enable = true; 255 + themeFile = "Catppuccin-Mocha"; 256 + 257 + settings = { 258 + enable_audio_bell = false; 259 + confirm_os_window_close = 0; 260 + }; 261 + }; 262 + 263 + ############## 264 + # from lang/ # 265 + ############## 266 + 267 + home.file = { 268 + ".config/fcitx5/conf/clipboard.conf" = { 269 + text = ''# Trigger Key 270 + TriggerKey= 271 + # Paste Primary 272 + PastePrimaryKey= 273 + # Number of entries 274 + Number of entries=3 275 + # Do not show password from password managers 276 + IgnorePasswordFromPasswordManager=True 277 + # Hidden clipboard content that contains a password 278 + ShowPassword=True 279 + # Seconds before clearing password 280 + ClearPasswordAfter=30''; 281 + }; 282 + }; 283 + 284 + #################### 285 + # from home/emily/ # 286 + #################### 287 + 288 + services = { 289 + hyprpaper = { 290 + enable = true; 291 + settings = { 292 + ipc = "on"; 293 + }; 294 + }; 295 + }; 296 + 297 + # Unit/services 298 + systemd.user.services = { 299 + break-notify = { 300 + Unit = { 301 + Description = "My description!"; 302 + }; 303 + Service = { 304 + Type = "oneshot"; 305 + ExecStart = "${pkgs.libnotify}/bin/notify-send Break"; 306 + }; 307 + Install = { 308 + WantedBy = [ "default.target" ]; 309 + }; 310 + }; 311 + }; 312 + 313 + systemd.user.timers = { 314 + break-timer = { 315 + Unit = { 316 + Description = "Test notify-send"; 317 + }; 318 + Timer = { 319 + Unit = "test-notify.service"; 320 + OnCalendar = "*:0/30"; 321 + }; 322 + Install = { 323 + WantedBy = [ "timers.target" ]; 324 + }; 325 + }; 326 + }; 165 327 }
-8
home/emily/default.nix
··· 1 - {pkgs, ...}: 2 - { 3 - imports = [ 4 - ./hyprland.nix 5 - ./gaming.nix 6 - ./timers.nix 7 - ]; 8 - }
-6
home/emily/gaming.nix
··· 1 - {config, pkgs, inputs, ...} : 2 - { 3 - home.packages = with pkgs; [ 4 - osu-lazer-bin 5 - ]; 6 - }
-11
home/emily/hyprland.nix
··· 1 - {pkgs, ...}: 2 - { 3 - services = { 4 - hyprpaper = { 5 - enable = true; 6 - settings = { 7 - ipc = "on"; 8 - }; 9 - }; 10 - }; 11 - }
-34
home/emily/timers.nix
··· 1 - {pkgs, ...}: 2 - { 3 - 4 - # Unit/services 5 - systemd.user.services = { 6 - break-notify = { 7 - Unit = { 8 - Description = "My description!"; 9 - }; 10 - Service = { 11 - Type = "oneshot"; 12 - ExecStart = "${pkgs.libnotify}/bin/notify-send Break"; 13 - }; 14 - Install = { 15 - WantedBy = [ "default.target" ]; 16 - }; 17 - }; 18 - }; 19 - 20 - systemd.user.timers = { 21 - break-timer = { 22 - Unit = { 23 - Description = "Test notify-send"; 24 - }; 25 - Timer = { 26 - Unit = "test-notify.service"; 27 - OnCalendar = "*:0/30"; 28 - }; 29 - Install = { 30 - WantedBy = [ "timers.target" ]; 31 - }; 32 - }; 33 - }; 34 - }
-5
lang/default.nix
··· 1 - { 2 - imports = [ 3 - ./jp.nix 4 - ]; 5 - }
-31
lang/jp.nix
··· 1 - {pkgs, ...}: 2 - { 3 - # i18n = { 4 - # inputMethod = { 5 - # enabled = "fcitx5"; 6 - # fcitx5.addons = with pkgs; [ 7 - # fcitx5-mozc 8 - # fcitx5-gtk 9 - # catppuccin-fcitx5 10 - # ]; 11 - # }; 12 - # }; 13 - 14 - home.file = { 15 - ".config/fcitx5/conf/clipboard.conf" = { 16 - text = ''# Trigger Key 17 - TriggerKey= 18 - # Paste Primary 19 - PastePrimaryKey= 20 - # Number of entries 21 - Number of entries=3 22 - # Do not show password from password managers 23 - IgnorePasswordFromPasswordManager=True 24 - # Hidden clipboard content that contains a password 25 - ShowPassword=True 26 - # Seconds before clearing password 27 - ClearPasswordAfter=30''; 28 - }; 29 - }; 30 - 31 - }
-9
stuff/default.nix
··· 1 - { 2 - imports = [ 3 - ./mpd.nix 4 - ./hyprland.nix 5 - ./term.nix 6 - ./emu.nix 7 - ./doc.nix 8 - ]; 9 - }
-7
stuff/doc.nix
··· 1 - {pkgs, ...}: 2 - { 3 - home.packages = with pkgs; [ 4 - pandoc 5 - texlive.combined.scheme-full 6 - ]; 7 - }
-6
stuff/emu.nix
··· 1 - {pkgs, ...}: 2 - { 3 - # home.packages = with pkgs; [ 4 - # retroarchFull 5 - # ]; 6 - }
-7
stuff/games.nix
··· 1 - {pkgs, ...}: 2 - { 3 - home.packages = with pkgs; 4 - [ 5 - osu-lazer-bin 6 - ]; 7 - }
-25
stuff/hyprland.nix
··· 1 - {pkgs, ...}: 2 - let 3 - hyprland-packages = with pkgs; [ 4 - 5 - hyprpolkitagent # Auth Agent # gui 6 - hyprpaper 7 - dunst # Notification Daemon # gui 8 - waybar # Status bar # gui 9 - waypaper # gui 10 - 11 - xdg-desktop-portal-hyprland # gui 12 - wofi # gui 13 - hyprpicker # gui 14 - 15 - hypridle # gui 16 - hyprlock # gui 17 - #hyprsysteminfo 18 - hyprsunset # gui 19 - 20 - ]; 21 - in 22 - { 23 - home.packages = hyprland-packages; 24 - 25 - }
-42
stuff/mpd.nix
··· 1 - {config, pkgs, ...}: 2 - { 3 - services = { 4 - mpd = { 5 - enable = true; 6 - musicDirectory = "${config.xdg.userDirs.music}"; 7 - extraConfig = '' 8 - audio_output { 9 - type "pipewire" 10 - name "MPD (Music Player Daemon)" 11 - } 12 - ''; 13 - network.startWhenNeeded = true; 14 - }; 15 - 16 - mpd-discord-rpc = { 17 - enable = true; 18 - settings = { 19 - hosts = [ "localhost:6600" ]; 20 - format = { 21 - details = "$title"; 22 - state = "On $album by $artist"; 23 - }; 24 - }; 25 - }; 26 - 27 - mpd-mpris = { 28 - enable = true; 29 - mpd = { 30 - useLocal = true; 31 - }; 32 - }; 33 - 34 - mpdris2 = { 35 - enable = true; 36 - notifications = true; 37 - }; 38 - }; 39 - 40 - home.packages = [ pkgs.rmpc ]; 41 - } 42 -
-14
stuff/term.nix
··· 1 - {pkgs, ...}: 2 - { 3 - home.packages = with pkgs; [ kitty ]; 4 - 5 - programs.kitty = { 6 - enable = true; 7 - themeFile = "Catppuccin-Mocha"; 8 - 9 - settings = { 10 - enable_audio_bell = false; 11 - confirm_os_window_close = 0; 12 - }; 13 - }; 14 - }
+1 -1
sys/services.nix
··· 9 9 settings = { 10 10 gui = { 11 11 user = "emily"; 12 - password = "incorrectgoatringtwormtassel"; 12 + password = "don'tfuuckingcommitthispasswordyoubsolutefool"; 13 13 }; 14 14 15 15 devices = {