Files
nix-config/modules/darwin/default.nix
T
imbytecat d846865c9f 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)
2026-04-10 22:06:09 +08:00

98 lines
2.2 KiB
Nix

{ pkgs, username, ... }:
{
# ── Shell ──────────────────────────────────────────
programs.fish.enable = true;
# ── User ───────────────────────────────────────────
users.users.${username} = {
home = "/Users/${username}";
shell = pkgs.fish;
};
# ── Fonts ──────────────────────────────────────────
fonts.packages = with pkgs; [
maple-mono.NF-CN-unhinted
nerd-fonts.symbols-only
];
# ── macOS system preferences ───────────────────────
system.defaults = {
dock = {
autohide = true;
show-recents = false;
mru-spaces = false;
};
finder = {
AppleShowAllExtensions = true;
FXPreferredViewStyle = "clmv";
};
NSGlobalDomain = {
AppleShowAllExtensions = true;
InitialKeyRepeat = 15;
KeyRepeat = 2;
};
};
# ── Homebrew ───────────────────────────────────────
homebrew = {
enable = true;
taps = [
"antoniorodr/memo"
"steipete/tap"
];
# 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
};
};
}