forked from jan-leila/nix-config
		
	added home manager configurations to output
This commit is contained in:
		
							parent
							
								
									90f0c114b3
								
							
						
					
					
						commit
						3fdee879c7
					
				
					 9 changed files with 45 additions and 32 deletions
				
			
		
							
								
								
									
										19
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										19
									
								
								flake.nix
									
										
									
									
									
								
							|  | @ -63,11 +63,15 @@ | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   outputs = {...} @ inputs: let |   outputs = { | ||||||
|  |     self, | ||||||
|  |     nixpkgs, | ||||||
|  |     ... | ||||||
|  |   } @ inputs: let | ||||||
|     util = import ./util {inherit inputs;}; |     util = import ./util {inherit inputs;}; | ||||||
|     forEachPkgs = util.forEachPkgs; |     forEachPkgs = util.forEachPkgs; | ||||||
|     mkSystem = util.mkSystem; |     mkSystem = util.mkSystem; | ||||||
|     # mkHome = util.mkHome; |     mkHome = util.mkHome; | ||||||
|     # callPackage = nixpkgs.lib.callPackageWith (nixpkgs // {lib = lib;}); |     # callPackage = nixpkgs.lib.callPackageWith (nixpkgs // {lib = lib;}); | ||||||
|     # lib = callPackage ./lib {} // nixpkgs.lib; |     # lib = callPackage ./lib {} // nixpkgs.lib; | ||||||
|   in { |   in { | ||||||
|  | @ -93,6 +97,17 @@ | ||||||
|       }; |       }; | ||||||
|     }); |     }); | ||||||
| 
 | 
 | ||||||
|  |     homeConfigurations = nixpkgs.lib.attrsets.mergeAttrsList ( | ||||||
|  |       nixpkgs.lib.attrsets.mapAttrsToList (hostname: system: ( | ||||||
|  |         nixpkgs.lib.attrsets.mapAttrs' (user: _: { | ||||||
|  |           name = "${user}@${hostname}"; | ||||||
|  |           value = mkHome user hostname system.pkgs.hostPlatform.system system.config; | ||||||
|  |         }) | ||||||
|  |         system.config.home-manager.users | ||||||
|  |       )) | ||||||
|  |       self.nixosConfigurations | ||||||
|  |     ); | ||||||
|  | 
 | ||||||
|     # homeConfigurations = { |     # homeConfigurations = { | ||||||
|     #   "leyla@horizon" = mkHome "leyla" "horizon"; # "x86_64-linux" ./homes/leyla; |     #   "leyla@horizon" = mkHome "leyla" "horizon"; # "x86_64-linux" ./homes/leyla; | ||||||
|     # }; |     # }; | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ | ||||||
|   osConfig, |   osConfig, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|   cfg = osConfig.host.users.ester; |   userConfig = osConfig.host.users.ester; | ||||||
| in { | in { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ../../home-modules |     ../../home-modules | ||||||
|  | @ -12,7 +12,7 @@ in { | ||||||
| 
 | 
 | ||||||
|   config = { |   config = { | ||||||
|     home = { |     home = { | ||||||
|       username = "ester"; |       username = userConfig.name; | ||||||
|       homeDirectory = osConfig.users.users.ester.home; |       homeDirectory = osConfig.users.users.ester.home; | ||||||
| 
 | 
 | ||||||
|       # This value determines the Home Manager release that your configuration is |       # This value determines the Home Manager release that your configuration is | ||||||
|  | @ -58,7 +58,7 @@ in { | ||||||
|         # EDITOR = "emacs"; |         # EDITOR = "emacs"; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       packages = lib.lists.optionals cfg.isDesktopUser ( |       packages = lib.lists.optionals userConfig.isDesktopUser ( | ||||||
|         with pkgs; [ |         with pkgs; [ | ||||||
|           # helvetica font |           # helvetica font | ||||||
|           aileron |           aileron | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ | ||||||
|   osConfig, |   osConfig, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|   cfg = osConfig.host.users.eve; |   userConfig = osConfig.host.users.eve; | ||||||
| in { | in { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ../../home-modules |     ../../home-modules | ||||||
|  | @ -12,7 +12,7 @@ in { | ||||||
| 
 | 
 | ||||||
|   config = { |   config = { | ||||||
|     home = { |     home = { | ||||||
|       username = "eve"; |       username = userConfig.name; | ||||||
|       homeDirectory = osConfig.users.users.eve.home; |       homeDirectory = osConfig.users.users.eve.home; | ||||||
| 
 | 
 | ||||||
|       # This value determines the Home Manager release that your configuration is |       # This value determines the Home Manager release that your configuration is | ||||||
|  | @ -58,7 +58,7 @@ in { | ||||||
|         # EDITOR = "emacs"; |         # EDITOR = "emacs"; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       packages = lib.lists.optionals cfg.isDesktopUser ( |       packages = lib.lists.optionals userConfig.isDesktopUser ( | ||||||
|         with pkgs; [ |         with pkgs; [ | ||||||
|           firefox |           firefox | ||||||
|           bitwarden |           bitwarden | ||||||
|  |  | ||||||
|  | @ -1,4 +1,8 @@ | ||||||
| {pkgs, ...}: { | { | ||||||
|  |   pkgs, | ||||||
|  |   osConfig, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./packages.nix |     ./packages.nix | ||||||
|     ../../home-modules |     ../../home-modules | ||||||
|  | @ -8,8 +12,8 @@ | ||||||
|     # Home Manager needs a bit of information about you and the paths it should |     # Home Manager needs a bit of information about you and the paths it should | ||||||
|     # manage. |     # manage. | ||||||
|     home = { |     home = { | ||||||
|       username = "leyla"; |       username = osConfig.host.users.leyla.name; | ||||||
|       # homeDirectory = osConfig.users.users.leyla.home; |       homeDirectory = osConfig.users.users.leyla.home; | ||||||
| 
 | 
 | ||||||
|       # This value determines the Home Manager release that your configuration is |       # This value determines the Home Manager release that your configuration is | ||||||
|       # compatible with. This helps avoid breakage when a new Home Manager release |       # compatible with. This helps avoid breakage when a new Home Manager release | ||||||
|  |  | ||||||
|  | @ -1,7 +1,5 @@ | ||||||
| { | { | ||||||
|   lib, |   lib, | ||||||
|   osConfig, |  | ||||||
|   # buildFirefoxXpiAddon, |  | ||||||
|   pkgs, |   pkgs, | ||||||
|   inputs, |   inputs, | ||||||
|   ... |   ... | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ | ||||||
|   pkgs, |   pkgs, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|   cfg = osConfig.host.users.leyla; |   userConifg = osConfig.host.users.leyla; | ||||||
|   hardware = osConfig.host.hardware; |   hardware = osConfig.host.hardware; | ||||||
| in { | in { | ||||||
|   imports = [ |   imports = [ | ||||||
|  | @ -14,7 +14,7 @@ in { | ||||||
| 
 | 
 | ||||||
|   home = { |   home = { | ||||||
|     packages = |     packages = | ||||||
|       lib.lists.optionals cfg.isTerminalUser ( |       lib.lists.optionals userConifg.isTerminalUser ( | ||||||
|         with pkgs; [ |         with pkgs; [ | ||||||
|           # comand line tools |           # comand line tools | ||||||
|           yt-dlp |           yt-dlp | ||||||
|  | @ -23,7 +23,7 @@ in { | ||||||
|         ] |         ] | ||||||
|       ) |       ) | ||||||
|       ++ ( |       ++ ( | ||||||
|         lib.lists.optionals cfg.isDesktopUser ( |         lib.lists.optionals userConifg.isDesktopUser ( | ||||||
|           with pkgs; [ |           with pkgs; [ | ||||||
|             # helvetica font |             # helvetica font | ||||||
|             aileron |             aileron | ||||||
|  |  | ||||||
|  | @ -1,6 +1,4 @@ | ||||||
| { | { | ||||||
|   lib, |  | ||||||
|   osConfig, |  | ||||||
|   pkgs, |   pkgs, | ||||||
|   inputs, |   inputs, | ||||||
|   ... |   ... | ||||||
|  | @ -77,8 +75,6 @@ | ||||||
| 
 | 
 | ||||||
|             # misc extensions |             # misc extensions | ||||||
|             bungcip.better-toml |             bungcip.better-toml | ||||||
| 
 |  | ||||||
|             # lib.mkIf open-vsx."10nates".ollama-autocoder |  | ||||||
|           ] |           ] | ||||||
|           ++ ( |           ++ ( | ||||||
|             with vscode-marketplace; [ |             with vscode-marketplace; [ | ||||||
|  |  | ||||||
|  | @ -88,7 +88,7 @@ in { | ||||||
|             type = lib.types.bool; |             type = lib.types.bool; | ||||||
|             default = config.isDesktopUser || config.isTerminalUser; |             default = config.isDesktopUser || config.isTerminalUser; | ||||||
|             description = '' |             description = '' | ||||||
|               User should install their applications |               User should install their applications and can log in | ||||||
|             ''; |             ''; | ||||||
|             defaultText = lib.literalExpression "config.host.users.\${name}.isNormalUser"; |             defaultText = lib.literalExpression "config.host.users.\${name}.isNormalUser"; | ||||||
|           }; |           }; | ||||||
|  |  | ||||||
|  | @ -47,15 +47,15 @@ in { | ||||||
|       ]; |       ]; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|   # mkHome = user: host: |   mkHome = user: host: system: osConfig: | ||||||
|   #   home-manager.lib.homeManagerConfiguration { |     home-manager.lib.homeManagerConfiguration { | ||||||
|   #     # pkgs = pkgsFor system; |       pkgs = pkgsFor system; | ||||||
|   #     extraSpecialArgs = { |       extraSpecialArgs = { | ||||||
|   #       inherit inputs util outputs; |         inherit inputs util outputs osConfig; | ||||||
|   #     }; |       }; | ||||||
|   #     modules = [ |       modules = [ | ||||||
|   #       # config |         # outputs.homeManagerModules.default | ||||||
|   #       outputs.homeManagerModules.default |         ../homes/${user} | ||||||
|   #     ]; |       ]; | ||||||
|   #   }; |     }; | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue