Compare commits
	
		
			No commits in common. "8f4e907bce705e1b9cbb54c1ef842d9347550ae5" and "c2ea64512ce849b62f8e6068799b29cee4824ba0" have entirely different histories.
		
	
	
		
			8f4e907bce
			...
			c2ea64512c
		
	
		
| @ -1,4 +1,4 @@ | ||||
| { config, lib, pkgs, inputs, namespace, host, ... }: | ||||
| { config, lib, pkgs, namespace, host, ... }: | ||||
| let | ||||
|   inherit (lib) types mkIf; | ||||
|   inherit (lib.${namespace}) mkBoolOpt mkOpt; | ||||
| @ -14,14 +14,6 @@ in | ||||
|   config = mkIf cfg.enable { | ||||
|     nix = | ||||
|       let | ||||
|         mappedRegistry = lib.pipe inputs [ | ||||
|           (lib.filterAttrs (_: lib.isType "flake")) | ||||
|           (lib.mapAttrs (_: flake: { inherit flake; })) | ||||
|           (x: x // { | ||||
|             nixpkgs.flake = if pkgs.stdenv.hostPlatform.isLinux then inputs.nixpkgs else inputs.nixpkgs-unstable; | ||||
|           }) | ||||
|           (x: if pkgs.stdenv.hostPlatform.isDarwin then lib.removeAttrs x [ "nixpkgs-unstable" ] else x) | ||||
|         ]; | ||||
|         users = [ | ||||
|           "root" | ||||
|           "@wheel" | ||||
| @ -56,9 +48,6 @@ in | ||||
| 
 | ||||
|         optimise.automatic = true; | ||||
| 
 | ||||
|         # Pin the registry to avoid downloading and evaluating a new nixpkgs version everytime | ||||
|         registry = mappedRegistry; | ||||
| 
 | ||||
|         settings = { | ||||
|           allowed-users = users; | ||||
|           auto-optimise-store = pkgs.stdenv.hostPlatform.isLinux; | ||||
|  | ||||
| @ -22,6 +22,5 @@ in | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|     networking.hostName = lib.mkForce ""; | ||||
|   }; | ||||
| } | ||||
|  | ||||
| @ -11,35 +11,6 @@ in | ||||
|     enableIWD = mkEnableOption "Enable IWD"; | ||||
|     useDHCP = mkBoolOpt true "Use DHCP"; | ||||
|     useNetworkd = mkBoolOpt false "Use networkd"; | ||||
|     useStatic = lib.mkOption { | ||||
|       type = lib.types.submodule { | ||||
|         options = { | ||||
|           interface = lib.mkOption { | ||||
|             type = lib.types.str; | ||||
|             description = "Network interface name"; | ||||
|             example = "enp0s3"; | ||||
|           }; | ||||
|           address = lib.mkOption { | ||||
|             type = lib.types.str; | ||||
|             description = "Static IP address"; | ||||
|             example = "10.0.20.200"; | ||||
|           }; | ||||
|           defaultGateway = lib.mkOption { | ||||
|             type = lib.types.str; | ||||
|             description = "Default gateway IP"; | ||||
|             example = "10.0.20.254"; | ||||
|           }; | ||||
|           nameservers = lib.mkOption { | ||||
|             type = lib.types.listOf lib.types.str; | ||||
|             description = "List of DNS servers"; | ||||
|             example = [ "10.0.20.254" "8.8.8.8" ]; | ||||
|             default = [ "8.8.8.8" "8.8.4.4" ]; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|       default = null; | ||||
|       description = "Static Network Configuration"; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
| @ -53,19 +24,24 @@ in | ||||
| 
 | ||||
|     networking = { | ||||
|       firewall = enabled; | ||||
|       useDHCP = mkIf (cfg.useStatic == null) (mkDefault cfg.useDHCP); | ||||
|       useDHCP = mkDefault cfg.useDHCP; | ||||
|       useNetworkd = cfg.useNetworkd; | ||||
|     } // (lib.optionalAttrs (cfg.enableIWD) { | ||||
|     } // (lib.optionalAttrs cfg.enableIWD) { | ||||
|       wireless.iwd = { | ||||
|         enable = true; | ||||
|         settings.General.EnableNetworkConfiguration = true; | ||||
|       }; | ||||
|     }) // (lib.optionalAttrs (cfg.useStatic != null) { | ||||
|       inherit (cfg.useStatic) defaultGateway nameservers; | ||||
|       interfaces.${cfg.useStatic.interface}.ipv4.addresses = [{ | ||||
|         inherit (cfg.useStatic) address; | ||||
|         prefixLength = 24; | ||||
|       }]; | ||||
|     }); | ||||
|     }; | ||||
| 
 | ||||
|     # TODO - Network Configuration | ||||
|     # (lib.mkIf (config.network != null) { | ||||
|     #   networking = { | ||||
|     #     inherit (config.network) defaultGateway nameservers; | ||||
|     #     interfaces.${config.network.interface}.ipv4.addresses = [{ | ||||
|     #       inherit (config.network) address; | ||||
|     #       prefixLength = 24; | ||||
|     #     }]; | ||||
|     #   }; | ||||
|     # }) | ||||
|   }; | ||||
| } | ||||
|  | ||||
| @ -11,7 +11,9 @@ in | ||||
|     extraGroups = mkOpt (listOf str) [ ] "Groups for the user to be assigned."; | ||||
|     extraOptions = mkOpt attrs { } "Extra options passed to <option>users.users.<name></option>."; | ||||
|     fullName = mkOpt str "Evan Reichard" "The full name of the user."; | ||||
|     initialPassword = mkOpt str "changeMe2025!" "The initial password to use when the user is first created."; | ||||
|     initialPassword = | ||||
|       mkOpt str "password" | ||||
|         "The initial password to use when the user is first created."; | ||||
|     name = mkOpt str "evanreichard" "The name to use for the user account."; | ||||
|   }; | ||||
| 
 | ||||
|  | ||||
| @ -15,8 +15,8 @@ sops: | ||||
|             SC91WFNocEN2K1NFK2dBUHYwZTQrVFkKKb3AlaRX96vJwEmxNNAThTlO9ZwtD1tv | ||||
|             c6aBELEbmJFdHOcIJITzmS3YOssDOgTL2TbcSFu8mdAQYsRvxC96HA== | ||||
|             -----END AGE ENCRYPTED FILE----- | ||||
|     lastmodified: "2025-04-09T00:53:28Z" | ||||
|     mac: ENC[AES256_GCM,data:NKv91i8Ms4TfbU0t9td4QoGD+9d9KYGQ9Mu1QlFdCc4AjMfRCcUCrvb9SVMF5JbYa8oZAH4Qp9FEJ5fFmgoTNrewspLUMpyjUYRgARYQWiHYhZjE/uTNhFo2FxXYLWsAlQjEJ8abbwUyr2y6NsK2tcQcOBDIWUssb4XqajNcylE=,iv:gvwQZB20JR4bKfMMR6sYjTnf3CNiOjcd8T30s2drKwY=,tag:mF9etyVyPVw5YblI8VdtTw==,type:str] | ||||
|     lastmodified: "2025-04-05T02:29:22Z" | ||||
|     mac: ENC[AES256_GCM,data:2rI+pEYmQIPmtcnDTuyroAbfIvLIZKvsyAMEbQM2y9xYXhLyK8Vt7IzmdHy//hQRBSWdBV7/HfCMWJcg9i1B/P9fXrKx+OxaIb654SkthWhkORq32Sr1Gee3Yj195MffIUrEZ4rVauCeprzdEXqN6oTVXjHvnqV2/VXuTkkbztE=,iv:gCgo+8uLH6H9R3OQvzf2K9SgXb3tXG7Lvu6lxL0P2xo=,tag:ev+vMOn6UAfKexfyUnMP5Q==,type:str] | ||||
|     pgp: [] | ||||
|     unencrypted_suffix: _unencrypted | ||||
|     version: 3.9.4 | ||||
|  | ||||
| @ -15,16 +15,7 @@ in | ||||
|         enable = true; | ||||
|         diskPath = "/dev/xvda"; | ||||
|       }; | ||||
|       networking = { | ||||
|         enable = true; | ||||
|         useDHCP = false; | ||||
|         useStatic = { | ||||
|           interface = "enX0"; | ||||
|           address = "10.0.50.130"; | ||||
|           defaultGateway = "10.0.50.254"; | ||||
|           nameservers = [ "10.0.50.254" ]; | ||||
|         }; | ||||
|       }; | ||||
|       networking = enabled; # TODO - Network Config | ||||
|     }; | ||||
| 
 | ||||
|     services = { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user