{ description = "Multi-Machine NixOS Configuration"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; home-manager = { url = "github:nix-community/home-manager/release-26.05"; inputs.nixpkgs.follows = "nixpkgs"; }; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; antigravity = { url = "github:Hy4ri/antigravity-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; comfy-ui = { url = "github:utensils/comfyui-nix"; }; }; outputs = inputs: let system = "x86_64-linux"; commonModules = [ ./modules/core ./modules/graphical ./modules/apps inputs.home-manager.nixosModules.home-manager { nixpkgs.overlays = [ inputs.antigravity.overlays.default inputs.comfy-ui.overlays.default ]; home-manager = { useGlobalPkgs = true; useUserPackages = true; extraSpecialArgs = { inherit inputs; }; backupFileExtension = "backup"; users.anish = import ./home; }; } ]; in { nixosConfigurations = { hades = inputs.nixpkgs.lib.nixosSystem { inherit system; specialArgs = { inherit inputs; }; modules = commonModules ++ [ inputs.nixos-hardware.nixosModules.common-cpu-amd ./hosts/hades ]; }; }; devShells.${system}.default = let pkgs = import inputs.nixpkgs { inherit system; overlays = [ inputs.antigravity.overlays.default ]; config.allowUnfree = true; }; in pkgs.mkShell { packages = with pkgs; [ llvmPackages_latest.clang llvmPackages_latest.lld llvmPackages_latest.lldb llvmPackages_latest.llvm llvmPackages_latest.clang-tools llvmPackages_latest.libcxx rustup uv ]; }; }; }