Files
lux/modules/capabilities/ai.nix
T

68 lines
1.8 KiB
Nix

{ inputs, config, ... }:
let
account = config.repo.account;
hmModules = config.flake.modules.homeManager;
in
{
flake.modules.nixos.ai = {
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="
];
};
};
flake.modules.homeManager.ai =
{
config,
lib,
pkgs,
...
}:
{
programs.mcp = {
enable = true;
servers.nixos = {
command = "${pkgs.uv}/bin/uvx";
args = [ "mcp-nixos" ];
};
};
home.packages = [
pkgs.llm-agents.codex
];
# programs.codex = {
# enable = true;
# package = pkgs.llm-agents.codex;
# enableMcpIntegration = true;
# settings = {
# model = "gpt-5.5";
# model_reasoning_effort = "high";
# plan_mode_reasoning_effort = "high";
# tui.status_line = [
# "model-with-reasoning"
# "current-dir"
# "git-branch"
# "context-remaining"
# "five-hour-limit"
# ];
# projects.${account.nixosConfigurationPath}.trust_level = "trusted";
# projects."${config.home.homeDirectory}/work/repos/yookr-data-science".trust_level = "trusted";
# sandbox_mode = "workspace-write";
# personality = "pragmatic";
# features.undo = true;
# mcp_servers.nixos = config.programs.mcp.servers.nixos // {
# enabled = true;
# default_tools_approval_mode = "approve";
# };
# };
# };
};
}