Separate user into smaller chunks
This commit is contained in:
		
							parent
							
								
									d67c3e1e69
								
							
						
					
					
						commit
						16dde9fc33
					
				
					 3 changed files with 122 additions and 96 deletions
				
			
		|  | @ -6,6 +6,11 @@ let | ||||||
|   user = config.users.users.tdpeuter.name; |   user = config.users.users.tdpeuter.name; | ||||||
|   installedPkgs = config.environment.systemPackages ++ config.home-manager.users.tdpeuter.home.packages; |   installedPkgs = config.environment.systemPackages ++ config.home-manager.users.tdpeuter.home.packages; | ||||||
| in { | in { | ||||||
|  |   imports = [ | ||||||
|  |     ./dotfiles.nix | ||||||
|  |     ./secrets.nix | ||||||
|  |   ]; | ||||||
|  | 
 | ||||||
|   options.sisyphus.users.tdpeuter.enable = lib.mkEnableOption "user Tibo De Peuter"; |   options.sisyphus.users.tdpeuter.enable = lib.mkEnableOption "user Tibo De Peuter"; | ||||||
| 
 | 
 | ||||||
|   config = lib.mkIf cfg.enable { |   config = lib.mkIf cfg.enable { | ||||||
|  | @ -67,77 +72,6 @@ in { | ||||||
|           statix |           statix | ||||||
|           vim-plug |           vim-plug | ||||||
|         ]); |         ]); | ||||||
| 
 |  | ||||||
|         # Put dotfiles in place. |  | ||||||
|         file = { |  | ||||||
|           ".config/alacritty" = lib.mkIf (builtins.elem pkgs.alacritty installedPkgs) { |  | ||||||
|             source = ../../../../stow/alacritty/.config/alacritty; |  | ||||||
|           }; |  | ||||||
|           ".config/git" = { |  | ||||||
|             enable = (builtins.elem pkgs.git installedPkgs); |  | ||||||
|             source = ../../../../stow/git/.config/git; |  | ||||||
|             recursive = true; |  | ||||||
|           }; |  | ||||||
|           ".config/kitty" = { |  | ||||||
|             enable = builtins.elem pkgs.kitty installedPkgs; |  | ||||||
|             source = ../../../../stow/kitty/.config/kitty; |  | ||||||
|             recursive = true; |  | ||||||
|           }; |  | ||||||
|           ".config/mpv" = { |  | ||||||
|             enable = (builtins.elem pkgs-unstable.mpv installedPkgs); |  | ||||||
|             source = ../../../../stow/mpv/.config/mpv; |  | ||||||
|           }; |  | ||||||
|           ".ssh/config" = lib.mkIf config.sisyphus.programs.ssh.enable { |  | ||||||
|             source = ../../../../stow/ssh/.ssh/config; |  | ||||||
|           }; |  | ||||||
|           ".config/vifm" = { |  | ||||||
|             enable = (builtins.elem pkgs.vifm installedPkgs); |  | ||||||
|             source = ../../../../stow/vifm/.config/vifm; |  | ||||||
|             recursive = true; |  | ||||||
|           }; |  | ||||||
|           ".config/zellij" = { |  | ||||||
|             enable = (builtins.elem pkgs.zellij installedPkgs); |  | ||||||
|             source = ../../../../stow/zellij/.config/zellij; |  | ||||||
|           }; |  | ||||||
|           ".oh-my-zsh" = { |  | ||||||
|             enable = (builtins.elem pkgs.zsh installedPkgs); |  | ||||||
|             source = "${pkgs.oh-my-zsh}/share/oh-my-zsh"; |  | ||||||
|             recursive = true; |  | ||||||
|           }; |  | ||||||
|           ".oh-my-zsh/themes/tdpeuter.zsh-theme" = { |  | ||||||
|             enable = (builtins.elem pkgs.zsh installedPkgs); |  | ||||||
|             source = ../../../../stow/zsh/.oh-my-zsh/themes/tdpeuter.zsh-theme; |  | ||||||
|           }; |  | ||||||
|           ".vim" = { |  | ||||||
|             enable = (builtins.elem pkgs.vim installedPkgs); |  | ||||||
|             source = ../../../../stow/vim/.vim; |  | ||||||
|             recursive = true; |  | ||||||
|           }; |  | ||||||
|           ".vim/autoload/plug.vim" = { |  | ||||||
|             enable = (builtins.elem pkgs.vim installedPkgs); |  | ||||||
|             source = "${pkgs.vimPlugins.vim-plug}/plug.vim"; |  | ||||||
|           }; |  | ||||||
|           ".vimrc" = { |  | ||||||
|             enable = (builtins.elem pkgs.vim installedPkgs); |  | ||||||
|             source = ../../../../stow/vim/.vimrc; |  | ||||||
|           }; |  | ||||||
|           ".zshrc" = { |  | ||||||
|             enable = (config.users.users.tdpeuter.shell == pkgs.zsh); |  | ||||||
|             source = ../../../../stow/zsh/.zshrc; |  | ||||||
|           }; |  | ||||||
|           ".zsh/plugins/cmdtime/cmdtime.plugin.zsh" = { |  | ||||||
|             enable = (builtins.elem pkgs.cmdtime installedPkgs); |  | ||||||
|             source = "${pkgs.cmdtime}/share/cmdtime/cmdtime.plugin.zsh"; |  | ||||||
|           }; |  | ||||||
|           ".zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" = { |  | ||||||
|             enable = (builtins.elem pkgs.zsh-autosuggestions installedPkgs); |  | ||||||
|             source = "${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh"; |  | ||||||
|           }; |  | ||||||
|           ".zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" = { |  | ||||||
|             enable = (builtins.elem pkgs.zsh-syntax-highlighting installedPkgs); |  | ||||||
|             source = "${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"; |  | ||||||
|           }; |  | ||||||
|         }; |  | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       # GNOME ricing |       # GNOME ricing | ||||||
|  | @ -192,30 +126,5 @@ in { | ||||||
|         }; |         }; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
|     sops.secrets = lib.mkIf config.sisyphus.programs.sops.enable ( |  | ||||||
|       let |  | ||||||
|         Hugo = { |  | ||||||
|           format = "yaml"; |  | ||||||
|           sopsFile = ../../../secrets/Hugo.yaml; |  | ||||||
|           owner = user; |  | ||||||
|         }; |  | ||||||
|         UGent = { |  | ||||||
|           format = "yaml"; |  | ||||||
|           sopsFile = ../../../secrets/UGent.yaml; |  | ||||||
|           owner = user; |  | ||||||
|         }; |  | ||||||
|       in { |  | ||||||
|         "Hugo/ssh" = Hugo; |  | ||||||
|         "UGent/HPC/ssh" = UGent; |  | ||||||
| 
 |  | ||||||
|         "GitHub/ssh" = { |  | ||||||
|           format = "yaml"; |  | ||||||
|           sopsFile = ../../../secrets/GitHub.yaml; |  | ||||||
|           owner = user; |  | ||||||
|         }; |  | ||||||
|         "Hugo/Gitea/ssh" = Hugo; |  | ||||||
|         "UGent/GitHub/ssh" = UGent; |  | ||||||
|         "UGent/SubGit/ssh" = UGent; |  | ||||||
|       }); |  | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										83
									
								
								nixos/modules/users/tdpeuter/dotfiles.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								nixos/modules/users/tdpeuter/dotfiles.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,83 @@ | ||||||
|  | { config, lib, pkgs, pkgs-unstable, ... }: | ||||||
|  | 
 | ||||||
|  | let | ||||||
|  |   cfg = config.sisyphus.users.tdpeuter; | ||||||
|  |   user = config.users.users.tdpeuter.name; | ||||||
|  |   installedPkgs = config.environment.systemPackages ++ config.home-manager.users.tdpeuter.home.packages; | ||||||
|  | in { | ||||||
|  |   config = lib.mkIf cfg.enable { | ||||||
|  |     home-manager.users.tdpeuter = lib.mkIf config.sisyphus.programs.home-manager.enable { | ||||||
|  |       home = { | ||||||
|  |         file = { | ||||||
|  |           ".config/alacritty" = lib.mkIf (builtins.elem pkgs.alacritty installedPkgs) { | ||||||
|  |             source = ../../../../stow/alacritty/.config/alacritty; | ||||||
|  |           }; | ||||||
|  |           ".config/git" = { | ||||||
|  |             enable = (builtins.elem pkgs.git installedPkgs); | ||||||
|  |             source = ../../../../stow/git/.config/git; | ||||||
|  |             recursive = true; | ||||||
|  |           }; | ||||||
|  |           ".config/kitty" = { | ||||||
|  |             enable = builtins.elem pkgs.kitty installedPkgs; | ||||||
|  |             source = ../../../../stow/kitty/.config/kitty; | ||||||
|  |             recursive = true; | ||||||
|  |           }; | ||||||
|  |           ".config/mpv" = { | ||||||
|  |             enable = (builtins.elem pkgs-unstable.mpv installedPkgs); | ||||||
|  |             source = ../../../../stow/mpv/.config/mpv; | ||||||
|  |           }; | ||||||
|  |           ".ssh/config" = lib.mkIf config.sisyphus.programs.ssh.enable { | ||||||
|  |             source = ../../../../stow/ssh/.ssh/config; | ||||||
|  |           }; | ||||||
|  |           ".config/vifm" = { | ||||||
|  |             enable = (builtins.elem pkgs.vifm installedPkgs); | ||||||
|  |             source = ../../../../stow/vifm/.config/vifm; | ||||||
|  |             recursive = true; | ||||||
|  |           }; | ||||||
|  |           ".config/zellij" = { | ||||||
|  |             enable = (builtins.elem pkgs.zellij installedPkgs); | ||||||
|  |             source = ../../../../stow/zellij/.config/zellij; | ||||||
|  |           }; | ||||||
|  |           ".oh-my-zsh" = { | ||||||
|  |             enable = (builtins.elem pkgs.zsh installedPkgs); | ||||||
|  |             source = "${pkgs.oh-my-zsh}/share/oh-my-zsh"; | ||||||
|  |             recursive = true; | ||||||
|  |           }; | ||||||
|  |           ".oh-my-zsh/themes/tdpeuter.zsh-theme" = { | ||||||
|  |             enable = (builtins.elem pkgs.zsh installedPkgs); | ||||||
|  |             source = ../../../../stow/zsh/.oh-my-zsh/themes/tdpeuter.zsh-theme; | ||||||
|  |           }; | ||||||
|  |           ".vim" = { | ||||||
|  |             enable = (builtins.elem pkgs.vim installedPkgs); | ||||||
|  |             source = ../../../../stow/vim/.vim; | ||||||
|  |             recursive = true; | ||||||
|  |           }; | ||||||
|  |           ".vim/autoload/plug.vim" = { | ||||||
|  |             enable = (builtins.elem pkgs.vim installedPkgs); | ||||||
|  |             source = "${pkgs.vimPlugins.vim-plug}/plug.vim"; | ||||||
|  |           }; | ||||||
|  |           ".vimrc" = { | ||||||
|  |             enable = (builtins.elem pkgs.vim installedPkgs); | ||||||
|  |             source = ../../../../stow/vim/.vimrc; | ||||||
|  |           }; | ||||||
|  |           ".zshrc" = { | ||||||
|  |             enable = (config.users.users.tdpeuter.shell == pkgs.zsh); | ||||||
|  |             source = ../../../../stow/zsh/.zshrc; | ||||||
|  |           }; | ||||||
|  |           ".zsh/plugins/cmdtime/cmdtime.plugin.zsh" = { | ||||||
|  |             enable = (builtins.elem pkgs.cmdtime installedPkgs); | ||||||
|  |             source = "${pkgs.cmdtime}/share/cmdtime/cmdtime.plugin.zsh"; | ||||||
|  |           }; | ||||||
|  |           ".zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" = { | ||||||
|  |             enable = (builtins.elem pkgs.zsh-autosuggestions installedPkgs); | ||||||
|  |             source = "${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh"; | ||||||
|  |           }; | ||||||
|  |           ".zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" = { | ||||||
|  |             enable = (builtins.elem pkgs.zsh-syntax-highlighting installedPkgs); | ||||||
|  |             source = "${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"; | ||||||
|  |           }; | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										34
									
								
								nixos/modules/users/tdpeuter/secrets.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								nixos/modules/users/tdpeuter/secrets.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,34 @@ | ||||||
|  | { config, lib, pkgs, pkgs-unstable, ... }: | ||||||
|  | 
 | ||||||
|  | let | ||||||
|  |   cfg = config.sisyphus.users.tdpeuter; | ||||||
|  |   user = config.users.users.tdpeuter.name; | ||||||
|  | in { | ||||||
|  |   config = lib.mkIf cfg.enable { | ||||||
|  |     sops.secrets = lib.mkIf config.sisyphus.programs.sops.enable ( | ||||||
|  |       let | ||||||
|  |         Hugo = { | ||||||
|  |           format = "yaml"; | ||||||
|  |           sopsFile = ../../../secrets/Hugo.yaml; | ||||||
|  |           owner = user; | ||||||
|  |         }; | ||||||
|  |         UGent = { | ||||||
|  |           format = "yaml"; | ||||||
|  |           sopsFile = ../../../secrets/UGent.yaml; | ||||||
|  |           owner = user; | ||||||
|  |         }; | ||||||
|  |       in { | ||||||
|  |         "Hugo/ssh" = Hugo; | ||||||
|  |         "UGent/HPC/ssh" = UGent; | ||||||
|  | 
 | ||||||
|  |         "GitHub/ssh" = { | ||||||
|  |           format = "yaml"; | ||||||
|  |           sopsFile = ../../../secrets/GitHub.yaml; | ||||||
|  |           owner = user; | ||||||
|  |         }; | ||||||
|  |         "Hugo/Gitea/ssh" = Hugo; | ||||||
|  |         "UGent/GitHub/ssh" = UGent; | ||||||
|  |         "UGent/SubGit/ssh" = UGent; | ||||||
|  |       }); | ||||||
|  |   }; | ||||||
|  | } | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue