Files
Nixos-Config/modules/user/packages.nix
2026-04-20 15:08:47 +00:00

91 lines
4.1 KiB
Nix

# ==========================================
# PACKAGES — User Applications
# ==========================================
# Spec: Codex, Claude Code, Gemini CLI, Helium, Cursor,
# Antigravity, Lazydocker, Git, Gh, Alacritty,
# Zoxide, Fzf, Bat, Eza, Fd, Impala, Bun, Nodejs,
# Docker, Bitwarden, Beeper, Python, Spotify, Tailscale
# ==========================================
{ config, pkgs, inputs, ... }:
{
home.packages = with pkgs; [
# ── AI Coding Tools ──────────────────────────────────
unstable.claude-code # Claude Code CLI
unstable.antigravity # Antigravity IDE
# codex: install via `npm i -g @openai/codex` (not in nixpkgs)
# gemini-cli: install via `npm i -g @google/gemini-cli` (not in nixpkgs)
# ── Terminals & Editors ──────────────────────────────
alacritty # GPU-accelerated terminal
code-cursor # Cursor IDE
# ── Browsers ─────────────────────────────────────────
# Helium: add inputs.helium-browser flake package here
# if the flake builds for your system, uncomment:
# inputs.helium-browser.packages.${pkgs.stdenv.hostPlatform.system}.default
# ── CLI Essentials (omarchy-style) ───────────────────
bat # cat with syntax highlighting
eza # modern ls
fd # modern find
fzf # fuzzy finder
zoxide # smart cd
ripgrep # fast grep
lazydocker # Docker TUI
impala # TUI WiFi manager
yazi # TUI file manager
btop # system monitor
fastfetch # system info
tealdeer # tldr man pages
# ── Version Control ──────────────────────────────────
git
gh # GitHub CLI
lazygit # Git TUI
# ── Development Runtimes ─────────────────────────────
nodejs
bun
python3
uv # fast Python package manager
# ── Containers ───────────────────────────────────────
docker-compose
# ── Desktop Apps ─────────────────────────────────────
bitwarden # password manager
beeper # unified messaging
spotify # music
# ── System Utilities ─────────────────────────────────
wget
curl
unzip
wl-clipboard
cliphist
wl-clip-persist
# ── Theming Dependencies ─────────────────────────────
gnome-themes-extra
adwaita-qt
adwaita-qt6
dconf
];
# ── Post-activation: Install npm-only tools ────────────
# Codex and Gemini CLI aren't in nixpkgs; install them
# globally via npm after first `nixos-rebuild switch`.
home.activation.installNpmTools = config.lib.dag.entryAfter [ "writeBoundary" ] ''
export PATH="${pkgs.nodejs}/bin:$PATH"
if ! command -v codex &> /dev/null; then
echo "Installing @openai/codex via npm..."
${pkgs.nodejs}/bin/npm i -g @openai/codex 2>/dev/null || true
fi
if ! command -v gemini &> /dev/null; then
echo "Installing @google/gemini-cli via npm..."
${pkgs.nodejs}/bin/npm i -g @google/gemini-cli 2>/dev/null || true
fi
'';
}