{ description = "Hermes Agent - AI agent framework by Nous Research"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; pyproject-nix = { url = "github:pyproject-nix/pyproject.nix"; inputs.nixpkgs.follows = "nixpkgs"; }; uv2nix = { url = "github:pyproject-nix/uv2nix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.pyproject-nix.follows = "pyproject-nix"; }; pyproject-build-systems = { url = "github:pyproject-nix/build-system-pkgs"; inputs.nixpkgs.follows = "nixpkgs"; inputs.pyproject-nix.follows = "pyproject-nix"; inputs.uv2nix.follows = "uv2nix"; }; npm-lockfile-fix = { url = "github:jeslie0/npm-lockfile-fix"; inputs.nixpkgs.follows = "nixpkgs"; }; # Used only by nix/checks.nix, to evaluate homeManagerModules.default # against the real Home Manager module system rather than a stub of it. # Consuming the module does not require this input — import it from your # own home-manager, exactly as you would any other HM module. home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" ]; imports = [ ./nix/packages.nix ./nix/overlays.nix ./nix/nixosModules.nix ./nix/homeManagerModules.nix ./nix/checks.nix ./nix/devShell.nix ]; }; }