feat: 声明式管理 Homebrew casks/brews/masApps

- 20 个 casks、11 个 brews、3 个 MAS 应用纳入 nix-darwin 管理
- onActivation.cleanup=zap 自动清理未声明的 brew 包
- 已在 nix 管理的 CLI 工具(biome, btop, fd 等)不再重复声明
- wget 移至 home-manager 实现跨平台可用
- 移除 zellij(已有 tmux)
This commit is contained in:
2026-04-10 22:06:09 +08:00
parent 96f88b3047
commit d846865c9f
2 changed files with 61 additions and 12 deletions
+5 -7
View File
@@ -31,6 +31,7 @@
xh # curl/httpie xh # curl/httpie
jq # JSON jq # JSON
yq # YAML yq # YAML
wget
# System info # System info
fastfetch fastfetch
@@ -39,20 +40,17 @@
# File management # File management
trash-cli trash-cli
# Terminal multiplexer (alternative)
zellij
# Nix tools # Nix tools
nix-output-monitor # nom — better nix build output nix-output-monitor # nom
nvd # nix version diff nvd # nix version diff
nh # nix helper (nixos-rebuild wrapper) nh # nix helper
# AI coding agent # AI coding agent
opencode opencode
comment-checker # AI code comment detection hook comment-checker
# Misc # Misc
micro # simple editor fallback micro
]; ];
# XDG directories # XDG directories
+56 -5
View File
@@ -34,13 +34,64 @@
}; };
}; };
# ── Homebrew (GUI apps not in nixpkgs) ───────────── # ── Homebrew ───────────────────────────────────────
homebrew = { homebrew = {
enable = true; enable = true;
casks = [
"raycast" taps = [
"arc" "antoniorodr/memo"
"steipete/tap"
]; ];
onActivation.cleanup = "zap";
# CLI tools not in nixpkgs or needing brew services
brews = [
"ffmpeg"
"gitui"
"mas"
"memo"
"mole"
"ollama"
"pandoc"
"poppler"
"tailscale"
"steipete/tap/gogcli"
"steipete/tap/remindctl"
];
# GUI apps
casks = [
"1password"
"brave-browser"
"cc-switch"
"cherry-studio"
"dbeaver-community"
"discord"
"feishu"
"ghostty"
"keka"
"logitech-g-hub"
"mos"
"orbstack"
"qq"
"raycast"
"spotify"
"telegram-desktop"
"termius"
"visual-studio-code"
"wechat"
"winbox"
];
# Mac App Store
masApps = {
"Microsoft Word" = 462054704;
"Windows App" = 1295203466;
"Xnip" = 1221250572;
};
onActivation = {
autoUpdate = true;
cleanup = "zap"; # remove anything not declared above
};
}; };
} }