68 lines
1.7 KiB
Nix
68 lines
1.7 KiB
Nix
{ 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
|
|
];
|
|
};
|
|
}
|