diff options
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 34 |
1 files changed, 27 insertions, 7 deletions
@@ -24,17 +24,37 @@ }: let pkgs = nixpkgs.legacyPackages.x86_64-linux; + mkSystem = + { + hostName, + system, + # Whether to create the default user account. This account will be + # in the wheel group, and has an empty default password! + makeDefaultUser ? true, + useHomeManager ? true, + additionalModules ? [ ], + }: + nixpkgs.lib.nixosSystem { + modules = [ + ./common/core.nix + ./hosts/${hostName} + ./modules # include custom system modules + { networking.hostName = hostName; } + ] + ++ nixpkgs.lib.optional makeDefaultUser ./user + ++ nixpkgs.lib.optional useHomeManager home-manager.nixosModules.home-manager + ++ nixpkgs.lib.optional useHomeManager ./user/home + ++ additionalModules; + + inherit system; + }; in { formatter.x86_64-linux = pkgs.nixfmt; nixosConfigurations = { - limbo = nixpkgs.lib.nixosSystem { - modules = [ - disko.nixosModules.disko - home-manager.nixosModules.home-manager - ./hosts/limbo - ]; - + limbo = mkSystem { + additionalModules = [ disko.nixosModules.disko ]; + hostName = "limbo"; system = "x86_64-linux"; }; }; |
