feat(nixos): add cursor-cli/claude-code/gemini-cli/opencode

This commit is contained in:
Ryan Yin
2026-03-24 12:19:56 +08:00
parent 914239487c
commit f373f5ee5b
4 changed files with 42 additions and 25 deletions

View File

@@ -1,19 +1,16 @@
{ pkgs, ... }:
{ pkgs, pkgs-master, ... }:
{
home.packages =
with pkgs;
[
mitmproxy # http/https proxy tool
wireshark # network analyzer
# IDEs
# jetbrains.idea-community
# AI cli tools
k8sgpt
kubectl-ai # an ai helper opensourced by google
]
++ (lib.optionals pkgs.stdenv.isx86_64 [
insomnia # REST client
# AI Agent Tools
++ (with pkgs-master; [
cursor-cli
claude-code
gemini-cli
opencode
]);
}

View File

@@ -12,6 +12,30 @@
extraConfig = ''
source /etc/agenix/alias-for-work.nushell
$env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC = "1"
# using claude-code with kimi llm
# https://platform.moonshot.cn/docs/guide/agent-support
# $env.ANTHROPIC_BASE_URL = "https://api.moonshot.cn/anthropic/"
# $env.ANTHROPIC_AUTH_TOKEN = $env.MOONSHOT_API_KEY
# $env.ANTHROPIC_MODEL = "kimi-k2-thinking"
# $env.ANTHROPIC_DEFAULT_HAIKU_MODEL = "kimi-k2-thinking-turbo"
# using claude-code with glm llm
# https://docs.bigmodel.cn/cn/coding-plan/tool/claude
# $env.ANTHROPIC_BASE_URL = "https://open.bigmodel.cn/api/anthropic"
# $env.ANTHROPIC_AUTH_TOKEN = $env.ZAI_API_KEY
# $env.ANTHROPIC_MODEL = "glm-4.7"
# $env.ANTHROPIC_DEFAULT_HAIKU_MODEL = "glm-4.5-air"
# using claude-code with minimax llm
# https://platform.minimax.io/docs/token-plan/claude-code
# $env.ANTHROPIC_BASE_URL = "https://api.minimax.io/anthropic"
# $env.ANTHROPIC_AUTH_TOKEN = $env.MINIMAX_API_KEY
# $env.ANTHROPIC_MODEL = "MiniMax-M2.7"
# $env.ANTHROPIC_SMALL_FAST_MODEL = "MiniMax-M2.7"
# $env.ANTHROPIC_DEFAULT_HAIKU_MODEL = "MiniMax-M2.7"
# Directories in this constant are searched by the
# `use` and `source` commands.
const NU_LIB_DIRS = $NU_LIB_DIRS ++ ['${nu_scripts}']

View File

@@ -1,28 +1,19 @@
{
lib,
pkgs,
pkgs-master,
...
}:
let
vscodeCliArgs = [
# https://code.visualstudio.com/docs/configure/settings-sync#_recommended-configure-the-keyring-to-use-with-vs-code
# For use with any package that implements the Secret Service API
# (for example gnome-keyring, kwallet5, KeepassXC)
"--password-store=gnome-libsecret"
];
in
{
home.packages = [
pkgs-master.code-cursor
pkgs-master.cursor-cli
];
programs.vscode = {
enable = true;
package = pkgs-master.vscode.override {
commandLineArgs = vscodeCliArgs;
commandLineArgs = [
# https://code.visualstudio.com/docs/configure/settings-sync#_recommended-configure-the-keyring-to-use-with-vs-code
# For use with any package that implements the Secret Service API
# (for example gnome-keyring, kwallet5, KeepassXC)
"--password-store=gnome-libsecret"
];
};
};
}

View File

@@ -145,6 +145,7 @@ in
# ai agents
".agents" # skills for all agents
".config/agents"
".claude"
".gemini"
".codex"
".config/opencode"
@@ -329,6 +330,10 @@ in
file = ".config/zoom.conf";
how = "symlink";
}
{
file = ".claude.json";
how = "bindmount";
}
];
};
};