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
+7 -10
View File
@@ -1,19 +1,16 @@
{ pkgs, ... }: { pkgs, pkgs-master, ... }:
{ {
home.packages = home.packages =
with pkgs; with pkgs;
[ [
mitmproxy # http/https proxy tool mitmproxy # http/https proxy tool
wireshark # network analyzer 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 [ # AI Agent Tools
insomnia # REST client ++ (with pkgs-master; [
cursor-cli
claude-code
gemini-cli
opencode
]); ]);
} }
+24
View File
@@ -12,6 +12,30 @@
extraConfig = '' extraConfig = ''
source /etc/agenix/alias-for-work.nushell 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 # Directories in this constant are searched by the
# `use` and `source` commands. # `use` and `source` commands.
const NU_LIB_DIRS = $NU_LIB_DIRS ++ ['${nu_scripts}'] const NU_LIB_DIRS = $NU_LIB_DIRS ++ ['${nu_scripts}']
+6 -15
View File
@@ -1,28 +1,19 @@
{ {
lib, lib,
pkgs,
pkgs-master, 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 = { programs.vscode = {
enable = true; enable = true;
package = pkgs-master.vscode.override { 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"
];
}; };
}; };
} }
+5
View File
@@ -145,6 +145,7 @@ in
# ai agents # ai agents
".agents" # skills for all agents ".agents" # skills for all agents
".config/agents" ".config/agents"
".claude"
".gemini" ".gemini"
".codex" ".codex"
".config/opencode" ".config/opencode"
@@ -329,6 +330,10 @@ in
file = ".config/zoom.conf"; file = ".config/zoom.conf";
how = "symlink"; how = "symlink";
} }
{
file = ".claude.json";
how = "bindmount";
}
]; ];
}; };
}; };