diff --git a/flake.nix b/flake.nix index 6d8a1d2..21ac018 100644 --- a/flake.nix +++ b/flake.nix @@ -95,37 +95,18 @@ } ); - nixosConfigurations = { - bob = lib.nixosSystem { - modules = [ - ./systems/bob - ]; - specialArgs = { inherit inputs outputs; }; - }; - brain = lib.nixosSystem { - modules = [ - ./systems/brain - ]; - specialArgs = { inherit inputs outputs; }; - }; - jeeves = lib.nixosSystem { - modules = [ - ./systems/jeeves - ]; - specialArgs = { inherit inputs outputs; }; - }; - rhapsody-in-green = lib.nixosSystem { - modules = [ - ./systems/rhapsody-in-green - ]; - specialArgs = { inherit inputs outputs; }; - }; - iso = lib.nixosSystem { - modules = [ - ./systems/iso - ]; - specialArgs = { inherit inputs outputs; }; - }; - }; + nixosConfigurations = + let + hosts = builtins.attrNames ( + lib.filterAttrs (_: type: type == "directory") (builtins.readDir ./systems) + ); + mkHost = + name: + lib.nixosSystem { + modules = [ ./systems/${name} ]; + specialArgs = { inherit inputs outputs; }; + }; + in + lib.genAttrs hosts mkHost; }; }