nix-config/aspects/ai.nix

53 lines
1.5 KiB
Nix

{ ... }:
{
flake.modules = {
nixos.ai =
{ inputs, pkgs, ... }:
{
environment.systemPackages =
(with pkgs; [
playwright
playwright-mcp
])
++ (with inputs.nix-ai-tools.packages.${pkgs.stdenv.hostPlatform.system}; [
ccusage-opencode
opencode
]);
nix.settings = {
extra-substituters = [ "https://cache.numtide.com" ];
extra-trusted-public-keys = [
"niks3.numtide.com-1:DTx8wZduET09hRmMtKdQDxNNthLQETkc/yaX7M4qK0g="
];
};
};
homeManager.ai =
{ config, inputs, pkgs, ... }:
{
programs.opencode = {
enable = true;
package = inputs.nix-ai-tools.packages.${pkgs.stdenv.hostPlatform.system}.opencode;
tui = {
theme = "system";
autoupdate = false;
};
settings = {
mcp = {
playwright = {
type = "local";
command = [
"${pkgs.coreutils}/bin/env"
"PLAYWRIGHT_BROWSERS_PATH=${config.xdg.cacheHome}/playwright-mcp"
"${pkgs.nodejs}/bin/node"
"${pkgs.playwright-mcp}/lib/node_modules/playwright-mcp-internal/cli.js"
"--executable-path"
"/run/current-system/sw/bin/chromium"
];
enabled = true;
};
};
};
};
};
};
}