Compare commits
	
		
			No commits in common. "1957b47664c7fb320b94e97bfddc9be1dd32fa13" and "73f73c3d37d10d074fa820d92cfbfa78cf42147d" have entirely different histories.
		
	
	
		
			1957b47664
			...
			73f73c3d37
		
	
		
					 8 changed files with 50 additions and 26 deletions
				
			
		|  | @ -17,4 +17,6 @@ with lib.wyrdgard; | ||||||
|       direnv = enabled; |       direnv = enabled; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
|  | 
 | ||||||
|  |   home.stateVersion = "24.11"; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -2,12 +2,11 @@ | ||||||
|   lib, |   lib, | ||||||
|   pkgs, |   pkgs, | ||||||
|   config, |   config, | ||||||
|   namespace, |  | ||||||
|   osConfig ? { }, |   osConfig ? { }, | ||||||
|   format ? "unknown", |   format ? "unknown", | ||||||
|   ... |   ... | ||||||
| }: | }: | ||||||
| with lib.${namespace}; | with lib.wyrdgard; | ||||||
| { | { | ||||||
|   wyrdgard = { |   wyrdgard = { | ||||||
|     apps = { |     apps = { | ||||||
|  | @ -18,4 +17,6 @@ with lib.${namespace}; | ||||||
|       direnv = enabled; |       direnv = enabled; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
|  | 
 | ||||||
|  |   home.stateVersion = "23.11"; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -7,7 +7,10 @@ | ||||||
| }: | }: | ||||||
| let | let | ||||||
|   inherit (lib) mkIf mkEnableOption; |   inherit (lib) mkIf mkEnableOption; | ||||||
|  | 
 | ||||||
|   cfg = config.${namespace}.desktop.addons.hypridle; |   cfg = config.${namespace}.desktop.addons.hypridle; | ||||||
|  | 
 | ||||||
|  |   username = config.${namespace}.user.name; | ||||||
| in | in | ||||||
| { | { | ||||||
|   options.${namespace}.desktop.addons.hypridle = { |   options.${namespace}.desktop.addons.hypridle = { | ||||||
|  | @ -15,7 +18,7 @@ in | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   config = mkIf cfg.enable { |   config = mkIf cfg.enable { | ||||||
|     ${namespace}.home.extraOptions = { |     snowfallorg.users.${username}.home.config = { | ||||||
|       services.hypridle = { |       services.hypridle = { | ||||||
|         enable = true; |         enable = true; | ||||||
|         settings = { |         settings = { | ||||||
|  |  | ||||||
|  | @ -20,15 +20,15 @@ in | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   config = { |   config = { | ||||||
|     snowfallorg.users.${config.${namespace}.user.name}.home.config = mkMerge [ |     ${namespace}.home.extraOptions = { | ||||||
|       { |       home.stateVersion = config.system.stateVersion; | ||||||
|         home.stateVersion = config.system.stateVersion; |       home.file = mkAliasDefinitions options.${namespace}.home.file; | ||||||
|         home.file = mkAliasDefinitions options.${namespace}.home.file; |       xdg.enable = true; | ||||||
|         xdg.enable = true; |       xdg.configFile = mkAliasDefinitions options.${namespace}.home.configFile; | ||||||
|         xdg.configFile = mkAliasDefinitions options.${namespace}.home.configFile; |     }; | ||||||
|       } | 
 | ||||||
|       config.${namespace}.home.extraOptions |     snowfallorg.users.${config.${namespace}.user.name}.home.config = | ||||||
|     ]; |       config.${namespace}.home.extraOptions; | ||||||
| 
 | 
 | ||||||
|     home-manager = { |     home-manager = { | ||||||
|       useUserPackages = true; |       useUserPackages = true; | ||||||
|  |  | ||||||
|  | @ -33,14 +33,7 @@ in | ||||||
|     ]; |     ]; | ||||||
| 
 | 
 | ||||||
|     ${namespace} = { |     ${namespace} = { | ||||||
|       nix = { |       nix = enabled; | ||||||
|         enable = true; |  | ||||||
|         extra-substituters = { |  | ||||||
|           "https://nix-community.cachix.org" = { |  | ||||||
|             key = "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="; |  | ||||||
|           }; |  | ||||||
|         }; |  | ||||||
|       }; |  | ||||||
| 
 | 
 | ||||||
|       apps.cli-apps.helix = enabled; |       apps.cli-apps.helix = enabled; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -2,6 +2,7 @@ | ||||||
|   config, |   config, | ||||||
|   lib, |   lib, | ||||||
|   namespace, |   namespace, | ||||||
|  |   options, | ||||||
|   pkgs, |   pkgs, | ||||||
|   ... |   ... | ||||||
| }: | }: | ||||||
|  | @ -10,6 +11,33 @@ with lib.${namespace}; | ||||||
| let | let | ||||||
|   cfg = config.${namespace}.user; |   cfg = config.${namespace}.user; | ||||||
|   defaultIconFileName = "profile.png"; |   defaultIconFileName = "profile.png"; | ||||||
|  |   defaultIcon = pkgs.stdenvNoCC.mkDerivation { | ||||||
|  |     name = "default-icon"; | ||||||
|  |     src = ./. + "/${defaultIconFileName}"; | ||||||
|  | 
 | ||||||
|  |     dontUnpack = true; | ||||||
|  | 
 | ||||||
|  |     installPhase = '' | ||||||
|  |       cp $src $out | ||||||
|  |     ''; | ||||||
|  | 
 | ||||||
|  |     passthru = { | ||||||
|  |       fileName = defaultIconFileName; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  |   propagatedIcon = | ||||||
|  |     pkgs.runCommandNoCC "propagated-icon" | ||||||
|  |       { | ||||||
|  |         passthru = { | ||||||
|  |           inherit (fileName) ; | ||||||
|  |         }; | ||||||
|  |       } | ||||||
|  |       '' | ||||||
|  |         local target="$out/share/${namespace}-icons/user/${cfg.name}" | ||||||
|  |         mkdir -p "$target" | ||||||
|  | 
 | ||||||
|  |         cp ${cfg.icon} "$target/${cfg.icon.fileName}" | ||||||
|  |       ''; | ||||||
| in | in | ||||||
| { | { | ||||||
|   options.${namespace}.user = with types; { |   options.${namespace}.user = with types; { | ||||||
|  | @ -17,7 +45,7 @@ in | ||||||
|     fullName = mkOpt str "Christoph Hollizeck" "The full name of the user."; |     fullName = mkOpt str "Christoph Hollizeck" "The full name of the user."; | ||||||
|     email = mkOpt str "christoph.hollizeck@hey.com" "The email of the user."; |     email = mkOpt str "christoph.hollizeck@hey.com" "The email of the user."; | ||||||
|     initialPassword = mkOpt str "asdf" "The initial password to use when the user is first created."; |     initialPassword = mkOpt str "asdf" "The initial password to use when the user is first created."; | ||||||
|     icon = mkOpt (nullOr path) ./${defaultIconFileName} "The profile picture to use for the user."; |     icon = mkOpt (nullOr package) defaultIcon "The profile picture to use for the user."; | ||||||
|     extraGroups = mkOpt (listOf str) [ ] "Groups for the user to be assigned."; |     extraGroups = mkOpt (listOf str) [ ] "Groups for the user to be assigned."; | ||||||
|     extraOptions = mkOpt attrs { } (mdDoc "Extra options passed to `users.users.<name>`."); |     extraOptions = mkOpt attrs { } (mdDoc "Extra options passed to `users.users.<name>`."); | ||||||
|     trustedPublicKeys = mkOption { |     trustedPublicKeys = mkOption { | ||||||
|  | @ -50,7 +78,7 @@ in | ||||||
|         "Videos/.keep".text = ""; |         "Videos/.keep".text = ""; | ||||||
|         "projects/.keep".text = ""; |         "projects/.keep".text = ""; | ||||||
|         ".face".source = cfg.icon; |         ".face".source = cfg.icon; | ||||||
|         "Pictures/${defaultIconFileName}".source = cfg.icon; |         "Pictures/${cfg.icon.fileName or (builtins.baseNameOf cfg.icon)}".source = cfg.icon; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 130 B After Width: | Height: | Size: 42 KiB | 
|  | @ -28,9 +28,6 @@ in | ||||||
|   programs.ssh.extraConfig = '' |   programs.ssh.extraConfig = '' | ||||||
|     AddressFamily inet |     AddressFamily inet | ||||||
|   ''; |   ''; | ||||||
|   home-manager = { |  | ||||||
|     backupFileExtension = ".bak"; |  | ||||||
|   }; |  | ||||||
| 
 | 
 | ||||||
|   ${namespace} = { |   ${namespace} = { | ||||||
|     archetypes = { |     archetypes = { | ||||||
|  | @ -79,7 +76,7 @@ in | ||||||
| 
 | 
 | ||||||
|         windowrulev2 = [ |         windowrulev2 = [ | ||||||
|           "workspace 8 silent, class:^(steam)$, title:^(Friends List)" |           "workspace 8 silent, class:^(steam)$, title:^(Friends List)" | ||||||
|           "workspace 8 silent, class:^(vesktop)$, title:^(Discord)" |           "workspace 8 silent, class:^(discord)$, title:^(Discord)" | ||||||
|           "workspace 7 silent, class:^(com.obsproject.Studio)$" |           "workspace 7 silent, class:^(com.obsproject.Studio)$" | ||||||
|         ]; |         ]; | ||||||
|       }; |       }; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue