{ description = "Multi-Machine NixOS Configuration"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; 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"; }; quickshell = { url = "git+https://git.outfoxxed.me/outfoxxed/quickshell"; inputs.nixpkgs.follows = "nixpkgs"; }; herdr = { url = "github:herdrdev/herdr"; inputs.nixpkgs.follows = "nixpkgs"; }; }; 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 ]; }; }; }