{ inputs, config, ... }: let hmModules = config.flake.modules.homeManager; in { flake.modules.nixos.ai = { pkgs, ... }: { home-manager.sharedModules = [ hmModules.ai ]; nixpkgs.overlays = [ inputs.llm-agents.overlays.default ]; nix.settings = { extra-substituters = [ "https://cache.numtide.com" ]; extra-trusted-public-keys = [ "niks3.numtide.com-1:DTx8wZduET09hRmMtKdQDxNNthLQETkc/yaX7M4qK0g=" ]; }; services.ollama = { enable = true; package = pkgs.ollama-vulkan; loadModels = [ "nomic-embed-text" ]; }; }; flake.modules.homeManager.ai = { pkgs, ... }: { services.podman = { volumes = { grounded-docs-config = { }; grounded-docs-data = { }; }; containers.grounded-docs = { image = "ghcr.io/arabold/docs-mcp-server:2.4.0"; network = "host"; volumes = [ "grounded-docs-config.volume:/config" "grounded-docs-data.volume:/data" ]; environment = { DOCS_MCP_APP_TELEMETRY_ENABLED = "false"; DOCS_MCP_EMBEDDING_MODEL = "openai:nomic-embed-text"; DOCS_MCP_EMBEDDINGS_VECTOR_DIMENSION = "768"; OPENAI_API_BASE = "http://127.0.0.1:11434/v1"; OPENAI_API_KEY = "ollama"; }; exec = "--protocol http --host 127.0.0.1 --port 6280"; }; }; programs.mcp = { enable = true; servers.nixos = { command = "${pkgs.uv}/bin/uvx"; args = [ "mcp-nixos" ]; }; }; home.packages = [ pkgs.llm-agents.codex pkgs.ctx7 ]; }; }