Nix Cheat Sheet
Practical Nix cheat sheet with setup steps, core workflows, debugging, and copy-paste examples.
nix terminal commands productivity
Nix cheat sheet with real commands and snippets for setup, core workflows, debugging, and production-safe automation patterns. If you are working across tools, pair this with the jq Cheat Sheet and Node.js Cheat Sheet.
Setup and Installation
Goal: Verify installation and CLI metadata
# Resolve command path from current shell
command -v nix
# Print installed version to confirm runtime
nix --version
# Read top-level help before using subcommands
nix --help
Goal: Install or upgrade the tool on a workstation
# Install package with Homebrew on macOS
brew install nix
# Upgrade to the latest available package
brew upgrade nix
# Re-check version after upgrade
nix --version
Goal: Run day-to-day commands
# Inspect Nix version
nix --version
# Temporarily open shell with package
nix shell nixpkgs#jq
# Install package to user profile
nix profile install nixpkgs#ripgrep
# Update flake lock file
nix flake update
Core Workflows
Goal: Capture command help for quick offline lookup
# Create docs folder for generated command references
mkdir -p docs/cli
# Write help output to a timestamped file
nix --help > docs/cli/nix-help.txt
# Search help output for a keyword
rg "config|auth|deploy" docs/cli/nix-help.txt
Goal: Wrap repetitive commands in a script
# Create scripts directory for local automation
mkdir -p scripts
# Write repeatable health-check script
cat > scripts/check-nix.sh <<'SH'
#!/usr/bin/env bash
set -euo pipefail
nix --version
nix --help >/dev/null
SH
# Make script executable and run it
chmod +x scripts/check-nix.sh && ./scripts/check-nix.sh
Configuration and Environment
Goal: Pin environment variables for predictable runs
# Define environment profile for local commands
export NIX_PROFILE=dev
# Persist profile in local shell configuration
echo 'export NIX_PROFILE=dev' >> ~/.zshrc
# Reload shell profile changes
source ~/.zshrc
Automation and CI
Goal: Add tool checks to CI pipeline
# Run lint/test/build in strict mode
set -euo pipefail
# Verify CLI exists before invoking workflow
command -v nix
# Exit quickly if command is unavailable
nix --version
Debugging and Troubleshooting
Goal: Collect diagnostics when commands fail
# Capture command output and exit code
nix --help > /tmp/nix-debug.log 2>&1; echo $?
# Inspect captured diagnostics
tail -n 80 /tmp/nix-debug.log
# Check current shell PATH entries
echo $PATH | tr ':' '\n'
Common Gotchas
- Pin Nix versions in CI so local and pipeline behavior match.
- Check tool authentication context before running write or deploy commands.
- Prefer non-interactive flags in scripts to avoid stalled jobs.
- Capture stderr logs in CI artifacts for faster incident triage.
- Keep secrets in environment variables, not committed scripts.
Related Sheets
- jq Cheat Sheet — daily jq commands and production-ready examples.
- Node.js Cheat Sheet — daily Node.js commands and production-ready examples.
- npm Cheat Sheet — daily npm commands and production-ready examples.
Related Cheat Sheets
jq Cheat Sheet
Practical jq cheat sheet with setup steps, core workflows, debugging, and copy-paste examples.
Node.js Cheat Sheet
Practical Node.js cheat sheet with setup steps, core workflows, debugging, and copy-paste examples.
npm Cheat Sheet
Practical npm cheat sheet with setup steps, core workflows, debugging, and copy-paste examples.