diff options
| author | Rosa <rosaontheweb@proton.me> | 2026-01-10 17:59:55 -0500 |
|---|---|---|
| committer | Rosa <rosaontheweb@proton.me> | 2026-01-10 17:59:55 -0500 |
| commit | 5570be9c9c64e0ba2474d73c2b6b23508b916fd6 (patch) | |
| tree | 53e2f7939b668a50d8f51f857a8659989de85c2b /flake.nix | |
| parent | 488bd4b5c08d6fe9c44b0fa5cd3750265c2be482 (diff) | |
custom function for system creation
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"; }; }; |
