{ description = "Server Config Controller"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; nixvim.url = "github:nix-community/nixvim"; home-manager = { url = "github:nix-community/home-manager/release-24.11"; inputs.nixpkgs.follows = "nixpkgs"; }; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, nixvim, home-manager, disko, sops-nix }@inputs: let nodes = [ "nixos-homelab-00" ]; in { nixosConfigurations = builtins.listToAttrs (map (name: { name = name; value = nixpkgs.lib.nixosSystem { specialArgs = { meta = { hostname = name; }; }; system = "x86_64-linux"; modules = [ ./configuration.nix ./hardware-configuration.nix ./disk-config.nix disko.nixosModules.disko sops-nix.nixosModule.sops home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.sysAdmin = ./home.nix; } ]; }; }) nodes); }; }