diff options
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 79 |
1 files changed, 9 insertions, 70 deletions
@@ -30,76 +30,15 @@ update-systemd-resolved.inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = inputs@{ - self, - agenix, - disko, - home-manager, - microvm, - nixpkgs, - nixos-facter-modules, - update-systemd-resolved, - ... - }: - let - coreModules = [ - home-manager.nixosModules.home-manager - agenix.nixosModules.default - ./modules/core - ]; - - # These should at some point be included in coreModules - deviceMgmtModules = [ - disko.nixosModules.disko - nixos-facter-modules.nixosModules.facter - ]; - - mkServer = import ./lib/mkserver.nix { - inherit nixpkgs inputs; - }; - in + outputs = inputs@{ self, nixpkgs, ... }: { - nixosConfigurations.work = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs; }; - modules = coreModules ++ [ - update-systemd-resolved.nixosModules.update-systemd-resolved - { - environment.systemPackages = [ - agenix.packages."x86_64-linux".default - ]; - } - - ./modules/work - ]; - }; - - nixosConfigurations.tarrel = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs; }; - modules = coreModules ++ [ - { - environment.systemPackages = [ - agenix.packages."x86_64-linux".default - ]; - } - - ./modules/tarrel - ]; - }; - - nixosConfigurations.snorlax = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs; }; - - modules = coreModules ++ deviceMgmtModules ++ [ - microvm.nixosModules.host - - { config.facter.reportPath = ./modules/snorlax/facter.json; } - ./modules/snorlax - ]; - }; - - nixosConfigurations.backup = mkServer "backup.jras.nl"; + nixosConfigurations = builtins.listToAttrs (builtins.map (name: { + name = name; + value = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit inputs; }; + modules = [ ./nodes/${name}/configuration.nix ]; + }; + }) (builtins.attrNames (builtins.readDir ./nodes))); }; } |