forked from jan-leila/nix-config
		
	moved user configuration to common
This commit is contained in:
		
							parent
							
								
									94ac2d581d
								
							
						
					
					
						commit
						54ecd6d24b
					
				
					 5 changed files with 131 additions and 130 deletions
				
			
		|  | @ -31,7 +31,82 @@ | |||
|     LC_TIME = "en_US.UTF-8"; | ||||
|   }; | ||||
| 
 | ||||
|   users.groups.users = {}; | ||||
|   users = { | ||||
|     users = { | ||||
|       leyla = { | ||||
|         uid = 1000; | ||||
|         description = "Leyla"; | ||||
|         group = "leyla"; | ||||
|       }; | ||||
| 
 | ||||
|       ester = { | ||||
|         uid = 1001; | ||||
|         description = "Ester"; | ||||
|         group = "ester"; | ||||
|       }; | ||||
| 
 | ||||
|       eve = { | ||||
|         uid = 1002; | ||||
|         description = "Eve"; | ||||
|         group = "eve"; | ||||
|       }; | ||||
| 
 | ||||
|       jellyfin = { | ||||
|         uid = 2000; | ||||
|         group = "jellyfin"; | ||||
|         isSystemUser = true; | ||||
|       }; | ||||
| 
 | ||||
|       forgejo = { | ||||
|         uid = 2002; | ||||
|         group = "forgejo"; | ||||
|         isSystemUser = true; | ||||
|       }; | ||||
| 
 | ||||
|       # pihole = { | ||||
|       #   uid = 2003; | ||||
|       #   group = "forgejo"; | ||||
|       #   isSystemUser = true; | ||||
|       # }; | ||||
|     }; | ||||
| 
 | ||||
|     groups = { | ||||
|       leyla = { | ||||
|         gid = 1000; | ||||
|         members = ["lelya"]; | ||||
|       }; | ||||
| 
 | ||||
|       ester = { | ||||
|         gid = 1001; | ||||
|         members = ["ester"]; | ||||
|       }; | ||||
| 
 | ||||
|       eve = { | ||||
|         gid = 1002; | ||||
|         members = ["eve"]; | ||||
|       }; | ||||
| 
 | ||||
|       jellyfin = { | ||||
|         gid = 2000; | ||||
|         members = ["jellyfin" "leyla"]; | ||||
|       }; | ||||
| 
 | ||||
|       jellyfin_media = { | ||||
|         gid = 2001; | ||||
|         members = ["jellyfin" "leyla" "ester" "eve"]; | ||||
|       }; | ||||
| 
 | ||||
|       forgejo = { | ||||
|         gid = 2002; | ||||
|         members = ["forgejo" "leyla"]; | ||||
|       }; | ||||
| 
 | ||||
|       # pihole = { | ||||
|       #   gid = 2003; | ||||
|       #   members = ["pihole" "leyla"]; | ||||
|       # }; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   services = { | ||||
|     openssh = { | ||||
|  |  | |||
|  | @ -48,50 +48,6 @@ | |||
|   }; | ||||
| 
 | ||||
|   config = { | ||||
|     users = { | ||||
|       groups = { | ||||
|         jellyfin = { | ||||
|           gid = 2000; | ||||
|           members = ["jellyfin" "leyla"]; | ||||
|         }; | ||||
| 
 | ||||
|         jellyfin_media = { | ||||
|           gid = 2001; | ||||
|           members = ["jellyfin" "leyla" "ester" "eve"]; | ||||
|         }; | ||||
| 
 | ||||
|         forgejo = { | ||||
|           gid = 2002; | ||||
|           members = ["forgejo" "leyla"]; | ||||
|         }; | ||||
| 
 | ||||
|         # pihole = { | ||||
|         #   gid = 2003; | ||||
|         #   members = ["pihole" "leyla"]; | ||||
|         # }; | ||||
|       }; | ||||
| 
 | ||||
|       users = { | ||||
|         jellyfin = { | ||||
|           uid = 2000; | ||||
|           group = "jellyfin"; | ||||
|           isSystemUser = true; | ||||
|         }; | ||||
| 
 | ||||
|         forgejo = { | ||||
|           uid = 2002; | ||||
|           group = "forgejo"; | ||||
|           isSystemUser = true; | ||||
|         }; | ||||
| 
 | ||||
|         # pihole = { | ||||
|         #   uid = 2003; | ||||
|         #   group = "forgejo"; | ||||
|         #   isSystemUser = true; | ||||
|         # }; | ||||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     # virtualisation.oci-containers.containers.pihole = { | ||||
|     #   image = "pihole/pihole:latest"; | ||||
|     #   environment = { | ||||
|  |  | |||
|  | @ -18,33 +18,23 @@ in { | |||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     users.groups.ester = {}; | ||||
|     users.users.ester = ( | ||||
|       if cfg.isFullUser | ||||
|       then { | ||||
|         isNormalUser = true; | ||||
|         extraGroups = ["networkmanager" "users"]; | ||||
| 
 | ||||
|     users.users.ester = lib.mkMerge [ | ||||
|       { | ||||
|         uid = 1001; | ||||
|         description = "Ester"; | ||||
|         group = "ester"; | ||||
|         hashedPasswordFile = config.sops.secrets."passwords/ester".path; | ||||
| 
 | ||||
|         packages = with pkgs; [ | ||||
|           firefox | ||||
|           bitwarden | ||||
|           discord | ||||
|         ]; | ||||
|       } | ||||
| 
 | ||||
|       ( | ||||
|         if cfg.isFullUser | ||||
|         then { | ||||
|           isNormalUser = true; | ||||
|           extraGroups = ["networkmanager" "users"]; | ||||
| 
 | ||||
|           hashedPasswordFile = config.sops.secrets."passwords/ester".path; | ||||
| 
 | ||||
|           packages = with pkgs; [ | ||||
|             firefox | ||||
|             bitwarden | ||||
|             discord | ||||
|           ]; | ||||
|         } | ||||
|         else { | ||||
|           isSystemUser = true; | ||||
|         } | ||||
|       ) | ||||
|     ]; | ||||
|       else { | ||||
|         isSystemUser = true; | ||||
|       } | ||||
|     ); | ||||
|   }; | ||||
| } | ||||
|  |  | |||
|  | @ -18,35 +18,25 @@ in { | |||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     users.groups.eve = {}; | ||||
|     users.users.eve = ( | ||||
|       if cfg.isFullUser | ||||
|       then { | ||||
|         isNormalUser = true; | ||||
|         extraGroups = ["networkmanager" "users"]; | ||||
| 
 | ||||
|     users.users.eve = lib.mkMerge [ | ||||
|       { | ||||
|         uid = 1002; | ||||
|         description = "Eve"; | ||||
|         group = "eve"; | ||||
|         hashedPasswordFile = config.sops.secrets."passwords/eve".path; | ||||
| 
 | ||||
|         packages = with pkgs; [ | ||||
|           firefox | ||||
|           bitwarden | ||||
|           discord | ||||
|           makemkv | ||||
|           signal-desktop | ||||
|         ]; | ||||
|       } | ||||
| 
 | ||||
|       ( | ||||
|         if cfg.isFullUser | ||||
|         then { | ||||
|           isNormalUser = true; | ||||
|           extraGroups = ["networkmanager" "users"]; | ||||
| 
 | ||||
|           hashedPasswordFile = config.sops.secrets."passwords/eve".path; | ||||
| 
 | ||||
|           packages = with pkgs; [ | ||||
|             firefox | ||||
|             bitwarden | ||||
|             discord | ||||
|             makemkv | ||||
|             signal-desktop | ||||
|           ]; | ||||
|         } | ||||
|         else { | ||||
|           isSystemUser = true; | ||||
|         } | ||||
|       ) | ||||
|     ]; | ||||
|       else { | ||||
|         isSystemUser = true; | ||||
|       } | ||||
|     ); | ||||
|   }; | ||||
| } | ||||
|  |  | |||
|  | @ -24,40 +24,30 @@ in { | |||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     users.groups.leyla = {}; | ||||
|     users.users.leyla = ( | ||||
|       if (cfg.isFullUser || cfg.isThinUser) | ||||
|       then { | ||||
|         isNormalUser = true; | ||||
|         extraGroups = lib.mkMerge [ | ||||
|           ["networkmanager" "wheel" "users"] | ||||
|           ( | ||||
|             lib.mkIf (!cfg.isThinUser) ["adbusers"] | ||||
|           ) | ||||
|         ]; | ||||
| 
 | ||||
|     users.users.leyla = lib.mkMerge [ | ||||
|       { | ||||
|         uid = 1000; | ||||
|         description = "Leyla"; | ||||
|         group = "leyla"; | ||||
|       } | ||||
|         hashedPasswordFile = config.sops.secrets."passwords/leyla".path; | ||||
| 
 | ||||
|       ( | ||||
|         if (cfg.isFullUser || cfg.isThinUser) | ||||
|         then { | ||||
|           isNormalUser = true; | ||||
|           extraGroups = lib.mkMerge [ | ||||
|             ["networkmanager" "wheel" "users"] | ||||
|             ( | ||||
|               lib.mkIf (!cfg.isThinUser) ["adbusers"] | ||||
|             ) | ||||
|         openssh = { | ||||
|           authorizedKeys.keys = [ | ||||
|             "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJHeItmt8TRW43uNcOC+eIurYC7Eunc0V3LGocQqLaYj leyla@horizon" | ||||
|             "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKBiZkg1c2aaNHiieBX4cEziqvJVj9pcDfzUrKU/mO0I leyla@twilight" | ||||
|           ]; | ||||
| 
 | ||||
|           hashedPasswordFile = config.sops.secrets."passwords/leyla".path; | ||||
| 
 | ||||
|           openssh = { | ||||
|             authorizedKeys.keys = [ | ||||
|               "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJHeItmt8TRW43uNcOC+eIurYC7Eunc0V3LGocQqLaYj leyla@horizon" | ||||
|               "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKBiZkg1c2aaNHiieBX4cEziqvJVj9pcDfzUrKU/mO0I leyla@twilight" | ||||
|             ]; | ||||
|           }; | ||||
|         } | ||||
|         else { | ||||
|           isSystemUser = true; | ||||
|         } | ||||
|       ) | ||||
|     ]; | ||||
|         }; | ||||
|       } | ||||
|       else { | ||||
|         isSystemUser = true; | ||||
|       } | ||||
|     ); | ||||
| 
 | ||||
|     # TODO: this should reference the home directory from the user config | ||||
|     services.openssh.hostKeys = [ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue