{ description = "System Configuration"; inputs = { nixpkgs = { url = "github:nixos/nixpkgs?ref=nixos-25.05"; }; home-manager = { url = "github:nix-community/home-manager?ref=release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; nixpkgs-unstable = { url = "github:nixos/nixpkgs?ref=nixos-unstable"; }; home-manager-unstable = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, ... }@inputs: let local = import ./lib; mkNixosConfig = { path, system ? "x86_64-linux", nixpkgs ? inputs.nixpkgs, home-manager ? inputs.home-manager, }: nixpkgs.lib.nixosSystem { inherit system; modules = [ home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { inherit inputs local; }; } path ]; specialArgs = { inherit inputs local; }; }; in { nixosConfigurations = { altair = mkNixosConfig { path = ./system/hosts/altair; }; vega = mkNixosConfig { path = ./system/hosts/vega; }; mcp = mkNixosConfig { path = ./system/hosts/mcp; }; }; features = { development = (import ./home-manager/features/development/development.nix); }; }; }