diff options
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 181 |
1 files changed, 80 insertions, 101 deletions
@@ -60,116 +60,95 @@ }: { - nixosConfigurations = { - toaster = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs; }; - modules = [ - sops-nix.nixosModules.sops - lanzaboote.nixosModules.lanzaboote - nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen3 - lix-module.nixosModules.default - - ./hosts/toaster - - ./modules/basic-tools - ./modules/binary-caches.nix - ./modules/devtools.nix - ./modules/gnome.nix - ./modules/gnupg.nix - ./modules/radio.nix - ./modules/science.nix - ./modules/tlp.nix - ./modules/virtualization.nix - ./hosts/toaster/secure-boot.nix - ./modules/chromium.nix - ./modules/mail - ./modules/wg - ]; - }; - cloud = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs; }; - modules = [ - sops-nix.nixosModules.sops - lix-module.nixosModules.default - - ./hosts/cloud - - ./modules/basic-tools - ./modules/server - ./modules/binary-caches.nix - ./modules/wg - ]; - }; - minime = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs; }; - modules = [ - sops-nix.nixosModules.sops - microvm.nixosModules.host - lix-module.nixosModules.default - - ./hosts/minime - ./modules/basic-tools - ./modules/server - ./modules/binary-caches.nix - ./modules/wg + nixosConfigurations = + let + microvm-list = [ + "auth" + "immich" + "miniflux" + "radicale" ]; - }; - auth = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs; }; - modules = [ - sops-nix.nixosModules.sops - microvm.nixosModules.microvm - authentik-nix.nixosModules.default + microvms = builtins.listToAttrs ( + map (vm: { + name = vm; + value = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit inputs; }; + modules = [ + sops-nix.nixosModules.sops + microvm.nixosModules.microvm - ./hosts/auth - ./modules/server - ./modules/wg - ]; - }; + ./hosts/${vm} + ./modules/server + ./modules/wg + ]; + }; + }) microvm-list + ); + in + microvms + // { + toaster = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit inputs; }; + modules = [ + sops-nix.nixosModules.sops + lanzaboote.nixosModules.lanzaboote + nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen3 + lix-module.nixosModules.default - immich = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs; }; - modules = [ - sops-nix.nixosModules.sops - microvm.nixosModules.microvm + ./hosts/toaster - ./hosts/immich - ./modules/server - ./modules/wg - ]; - }; + ./modules/basic-tools + ./modules/binary-caches.nix + ./modules/devtools.nix + ./modules/gnome.nix + ./modules/gnupg.nix + ./modules/radio.nix + ./modules/science.nix + ./modules/tlp.nix + ./modules/virtualization.nix + ./hosts/toaster/secure-boot.nix + ./modules/chromium.nix + ./modules/mail + ./modules/wg + ]; + }; + cloud = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit inputs; }; + modules = [ + sops-nix.nixosModules.sops + lix-module.nixosModules.default - miniflux = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs; }; - modules = [ - sops-nix.nixosModules.sops - microvm.nixosModules.microvm + ./hosts/cloud - ./hosts/miniflux - ./modules/server - ./modules/wg - ]; - }; + ./modules/basic-tools + ./modules/server + ./modules/binary-caches.nix + ./modules/wg + ]; + }; + minime = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit inputs; }; + modules = [ + sops-nix.nixosModules.sops + microvm.nixosModules.host + lix-module.nixosModules.default - radicale = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs; }; - modules = [ - sops-nix.nixosModules.sops - microvm.nixosModules.microvm + ./hosts/minime + ./modules/basic-tools + ./modules/server + ./modules/binary-caches.nix + ./modules/wg - ./hosts/radicale - ./modules/server - ./modules/wg - ]; + { + config.microvm.autostart = microvm-list; + } + ]; + }; }; - }; }; } |
