diff --git a/flake.nix b/flake.nix index c96d65b..30eca3b 100644 --- a/flake.nix +++ b/flake.nix @@ -30,6 +30,13 @@ ... } @ inputs: let inherit (self) outputs; + + hosts = [ + "luna" + "terra" + "solis" + ]; + systems = [ "aarch64-linux" "i686-linux" @@ -41,43 +48,18 @@ in { formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra); - nixosConfigurations = { - luna = nixpkgs.lib.nixosSystem { - specialArgs = { - inherit inputs outputs; - }; - modules = [ - ./machines/luna/configuration.nix - home-manager.nixosModules.home-manager - agenix.nixosModules.default - { - home-manager.sharedModules = [plasma-manager.homeModules.plasma-manager]; - } - ]; + nixosConfigurations = nixpkgs.lib.genAttrs hosts (host: nixpkgs.lib.nixosSystem { + specialArgs = { + inherit inputs outputs; }; - terra = nixpkgs.lib.nixosSystem { - specialArgs = { - inherit inputs outputs; - }; - modules = [ - ./machines/terra/configuration.nix - home-manager.nixosModules.home-manager - agenix.nixosModules.default - { - home-manager.sharedModules = [plasma-manager.homeModules.plasma-manager]; - } - ]; - }; - solis = nixpkgs.lib.nixosSystem { - specialArgs = { - inherit inputs outputs; - }; - modules = [ - ./machines/solis/configuration.nix - home-manager.nixosModules.home-manager - agenix.nixosModules.default - ]; - }; - }; + modules = [ + ./machines/${host}/configuration.nix + home-manager.nixosModules.home-manager + agenix.nixosModules.default + { + home-manager.sharedModules = [plasma-manager.homeModules.plasma-manager]; + } + ]; + }); }; }