| 
									
										
										
										
											2024-05-21 13:40:16 -04:00
										 |  |  | { | 
					
						
							|  |  |  |   config, | 
					
						
							|  |  |  |   pkgs, | 
					
						
							|  |  |  |   lib, | 
					
						
							|  |  |  |   machineConfig, | 
					
						
							|  |  |  |   ... | 
					
						
							|  |  |  | }: | 
					
						
							| 
									
										
										
										
											2023-12-25 13:25:11 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-25 03:39:20 +01:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2025-08-01 00:16:57 -04:00
										 |  |  |   imports = [ | 
					
						
							|  |  |  |     ./home/zsh.nix | 
					
						
							|  |  |  |     ./home/git.nix | 
					
						
							|  |  |  |   ] | 
					
						
							|  |  |  |   ++ lib.optionals (!machineConfig.server) [ | 
					
						
							|  |  |  |     ./home/gammastep.nix | 
					
						
							|  |  |  |     ./home/doom | 
					
						
							|  |  |  |     ./home/hypr | 
					
						
							|  |  |  |     ./home/waybar.nix | 
					
						
							|  |  |  |     ./non-server.nix | 
					
						
							|  |  |  |   ]; | 
					
						
							| 
									
										
										
										
											2024-03-24 14:21:28 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-05 22:45:43 +01:00
										 |  |  |   home = { | 
					
						
							| 
									
										
										
										
											2024-01-03 16:08:16 -05:00
										 |  |  |     # # Adds the 'hello' command to your environment. It prints a friendly | 
					
						
							|  |  |  |     # # "Hello, world!" when run. | 
					
						
							|  |  |  |     # pkgs.hello | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     # # It is sometimes useful to fine-tune packages, for example, by applying | 
					
						
							|  |  |  |     # # overrides. You can do that directly here, just don't forget the | 
					
						
							|  |  |  |     # # parentheses. Maybe you want to install Nerd Fonts with a limited number of | 
					
						
							|  |  |  |     # # fonts? | 
					
						
							|  |  |  |     # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     # # You can also create simple shell scripts directly inside your | 
					
						
							|  |  |  |     # # configuration. For example, this adds a command 'my-hello' to your | 
					
						
							|  |  |  |     # # environment: | 
					
						
							|  |  |  |     # (pkgs.writeShellScriptBin "my-hello" '' | 
					
						
							|  |  |  |     #   echo "Hello, ${config.home.username}!" | 
					
						
							|  |  |  |     # '') | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-05 22:45:43 +01:00
										 |  |  |     username = "alice"; | 
					
						
							|  |  |  |     homeDirectory = "/home/alice"; | 
					
						
							|  |  |  |     packages = with pkgs; [ | 
					
						
							| 
									
										
										
										
											2024-03-28 20:25:14 -04:00
										 |  |  |       gnumake | 
					
						
							| 
									
										
										
										
											2024-06-07 17:29:52 -04:00
										 |  |  |       python3 | 
					
						
							| 
									
										
										
										
											2024-07-23 11:38:21 -04:00
										 |  |  |       poetry | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       # pre-commit | 
					
						
							|  |  |  |       pre-commit | 
					
						
							|  |  |  |       deadnix | 
					
						
							|  |  |  |       statix | 
					
						
							|  |  |  |       nil | 
					
						
							| 
									
										
										
										
											2024-03-28 20:25:14 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-16 23:40:12 -04:00
										 |  |  |       # useful tools | 
					
						
							| 
									
										
										
										
											2024-12-26 02:42:56 -05:00
										 |  |  |       file | 
					
						
							| 
									
										
										
										
											2024-12-15 22:12:41 -05:00
										 |  |  |       sqlite | 
					
						
							| 
									
										
										
										
											2024-02-05 22:45:43 +01:00
										 |  |  |       ncdu | 
					
						
							| 
									
										
										
										
											2024-06-22 02:47:01 -04:00
										 |  |  |       onefetch | 
					
						
							|  |  |  |       hyfetch | 
					
						
							| 
									
										
										
										
											2024-04-16 23:40:12 -04:00
										 |  |  |       smartmontools | 
					
						
							|  |  |  |       wget | 
					
						
							| 
									
										
										
										
											2024-04-20 12:20:06 -04:00
										 |  |  |       glances | 
					
						
							| 
									
										
										
										
											2024-09-05 01:30:33 -04:00
										 |  |  |       onefetch | 
					
						
							| 
									
										
										
										
											2024-01-08 19:11:33 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-05 22:45:43 +01:00
										 |  |  |       # Rust packages | 
					
						
							| 
									
										
										
										
											2024-04-16 23:40:12 -04:00
										 |  |  |       bat | 
					
						
							| 
									
										
										
										
											2024-02-05 22:45:43 +01:00
										 |  |  |       cargo-update | 
					
						
							|  |  |  |       diesel-cli | 
					
						
							|  |  |  |       tealdeer | 
					
						
							|  |  |  |       helix | 
					
						
							| 
									
										
										
										
											2024-08-08 23:44:36 -04:00
										 |  |  |       ripunzip | 
					
						
							| 
									
										
										
										
											2023-12-25 13:25:11 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-05 22:45:43 +01:00
										 |  |  |       # nix specific packages | 
					
						
							| 
									
										
										
										
											2024-04-16 23:40:12 -04:00
										 |  |  |       nix-output-monitor | 
					
						
							|  |  |  |       nix-prefetch | 
					
						
							|  |  |  |       nix-tree | 
					
						
							| 
									
										
										
										
											2024-05-28 17:28:22 -04:00
										 |  |  |       nh | 
					
						
							| 
									
										
										
										
											2025-07-08 01:10:59 -04:00
										 |  |  |       home-manager | 
					
						
							| 
									
										
										
										
											2023-12-25 13:25:11 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-05 22:45:43 +01:00
										 |  |  |       # doom emacs dependencies | 
					
						
							|  |  |  |       fd | 
					
						
							|  |  |  |       ripgrep | 
					
						
							| 
									
										
										
										
											2024-07-30 10:45:39 -04:00
										 |  |  |       pyright | 
					
						
							| 
									
										
										
										
											2024-04-16 23:40:12 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |       # audit | 
					
						
							|  |  |  |       lynis | 
					
						
							| 
									
										
										
										
											2024-04-25 19:15:13 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |       # dependencies for nix-dotfiles/hydra-check-action | 
					
						
							|  |  |  |       nodejs_20 | 
					
						
							|  |  |  |       nodePackages.prettier | 
					
						
							|  |  |  |       treefmt | 
					
						
							| 
									
										
										
										
											2025-04-02 00:18:21 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |       gocryptfs | 
					
						
							| 
									
										
										
										
											2025-04-09 11:41:02 -04:00
										 |  |  |       awscli2 | 
					
						
							| 
									
										
										
										
											2024-02-05 22:45:43 +01:00
										 |  |  |     ]; | 
					
						
							|  |  |  |   }; | 
					
						
							| 
									
										
										
										
											2023-12-25 13:25:11 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-03 16:08:16 -05:00
										 |  |  |   programs = { | 
					
						
							| 
									
										
										
										
											2024-03-24 15:54:50 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-03 16:08:16 -05:00
										 |  |  |     starship.enable = true; | 
					
						
							| 
									
										
										
										
											2024-05-17 23:14:52 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-03 16:08:16 -05:00
										 |  |  |     fzf = { | 
					
						
							|  |  |  |       enable = true; | 
					
						
							|  |  |  |       enableZshIntegration = true; | 
					
						
							|  |  |  |     }; | 
					
						
							| 
									
										
										
										
											2024-05-17 23:14:52 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-06 15:31:52 -04:00
										 |  |  |     direnv = { | 
					
						
							|  |  |  |       enable = true; | 
					
						
							|  |  |  |       enableZshIntegration = true; | 
					
						
							|  |  |  |       nix-direnv.enable = true; | 
					
						
							|  |  |  |     }; | 
					
						
							| 
									
										
										
										
											2024-01-08 19:11:33 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-17 23:14:52 -04:00
										 |  |  |     eza = { | 
					
						
							|  |  |  |       enable = true; | 
					
						
							| 
									
										
										
										
											2024-10-20 19:06:35 -04:00
										 |  |  |       icons = "auto"; | 
					
						
							| 
									
										
										
										
											2024-05-17 23:14:52 -04:00
										 |  |  |       git = true; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-28 02:39:29 -04:00
										 |  |  |     neovim = { | 
					
						
							|  |  |  |       enable = true; | 
					
						
							|  |  |  |       defaultEditor = true; | 
					
						
							|  |  |  |       vimAlias = true; | 
					
						
							|  |  |  |       vimdiffAlias = true; | 
					
						
							|  |  |  |       extraConfig = ''
 | 
					
						
							|  |  |  |         set bg=dark | 
					
						
							|  |  |  |               set tabstop=2 | 
					
						
							|  |  |  |         	set shiftwidth=2 | 
					
						
							|  |  |  |         	set expandtab | 
					
						
							|  |  |  |         	set smartindent | 
					
						
							|  |  |  |       '';
 | 
					
						
							|  |  |  |     }; | 
					
						
							| 
									
										
										
										
											2024-03-24 14:21:28 -04:00
										 |  |  |     nix-index = { | 
					
						
							|  |  |  |       enable = true; | 
					
						
							|  |  |  |       enableZshIntegration = true; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-28 02:39:29 -04:00
										 |  |  |     tmux.enable = true; | 
					
						
							| 
									
										
										
										
											2024-01-08 19:11:33 -05:00
										 |  |  |     topgrade = { | 
					
						
							|  |  |  |       enable = true; | 
					
						
							| 
									
										
										
										
											2024-03-03 18:06:28 -05:00
										 |  |  |       settings = { | 
					
						
							|  |  |  |         misc = { | 
					
						
							|  |  |  |           disable = [ | 
					
						
							|  |  |  |             "system" | 
					
						
							|  |  |  |             "nix" | 
					
						
							|  |  |  |             "shell" | 
					
						
							| 
									
										
										
										
											2024-10-22 17:37:30 -04:00
										 |  |  |             "poetry" | 
					
						
							| 
									
										
										
										
											2024-03-03 18:06:28 -05:00
										 |  |  |           ]; | 
					
						
							|  |  |  |         }; | 
					
						
							|  |  |  |       }; | 
					
						
							| 
									
										
										
										
											2024-01-08 19:11:33 -05:00
										 |  |  |     }; | 
					
						
							| 
									
										
										
										
											2025-08-01 00:40:10 -04:00
										 |  |  |     fastfetch = { | 
					
						
							|  |  |  |       enable = true; | 
					
						
							|  |  |  |     }; | 
					
						
							| 
									
										
										
										
											2024-01-03 16:08:16 -05:00
										 |  |  |   }; | 
					
						
							| 
									
										
										
										
											2023-12-25 03:39:20 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-24 14:21:28 -04:00
										 |  |  |   services.ssh-agent.enable = true; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-28 02:39:29 -04:00
										 |  |  |   # TODO: add environment bs | 
					
						
							|  |  |  |   home.sessionVariables = { | 
					
						
							|  |  |  |     EDITOR = "nvim"; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-16 23:25:52 -04:00
										 |  |  |   xdg = { | 
					
						
							|  |  |  |     enable = true; | 
					
						
							|  |  |  |     userDirs = { | 
					
						
							|  |  |  |       enable = true; | 
					
						
							|  |  |  |       createDirectories = true; | 
					
						
							|  |  |  |       extraConfig = { | 
					
						
							|  |  |  |         XDG_SCREENSHOTS_DIR = "${config.xdg.userDirs.pictures}/Screenshots"; | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-10-20 20:36:35 -04:00
										 |  |  |   sops = lib.mkIf (!machineConfig.server) { | 
					
						
							| 
									
										
										
										
											2024-05-26 19:03:40 -04:00
										 |  |  |     age.sshKeyPaths = [ "/home/alice/.ssh/id_ed25519_sops" ]; | 
					
						
							| 
									
										
										
										
											2024-05-21 01:01:07 -04:00
										 |  |  |     defaultSopsFile = ./secrets.yaml; | 
					
						
							|  |  |  |     secrets."alice/wakatime-api-key".path = "/home/alice/.config/doom/wakatime"; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-10-20 20:59:38 -04:00
										 |  |  |   nix.gc = { | 
					
						
							|  |  |  |     automatic = true; | 
					
						
							| 
									
										
										
										
											2025-09-07 22:25:22 -04:00
										 |  |  |     dates = "weekly"; | 
					
						
							| 
									
										
										
										
											2024-10-20 20:59:38 -04:00
										 |  |  |     options = "--delete-older-than 30d"; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-26 02:56:52 +01:00
										 |  |  |   home.stateVersion = "23.11"; | 
					
						
							| 
									
										
										
										
											2023-12-25 13:25:11 -05:00
										 |  |  | } |