git clone https://github.com/samuelho-dev/dev-config
cd dev-config
bash scripts/install.shThat's it! Restart your terminal and you're done.
The install script automatically:
- ✅ Installed Nix (if not present) - Declarative package manager
- ✅ Installed all packages (Neovim, tmux, zsh, Docker, Claude CLI, 1Password CLI, etc.)
- ✅ Created symlinks (nvim config →
~/Projects/dev-config/nvim) - ✅ Installed plugins (Neovim: lazy.nvim, tmux: TPM, zsh: Oh My Zsh + Powerlevel10k)
- ✅ Set zsh as default shell
All package versions are pinned in flake.lock for reproducibility.
cd ~/Projects/dev-config
nix flake update # Updates flake.lock with latest versions
git commit flake.lock -m "chore: update dependencies"nix run .#activate # Re-creates symlinks, reinstalls pluginsnix profile rollback # Instant rollback to previous generationnix develop # Enter temporary shell with all packages
# Test your changes...
exit # Leave temporary shell-
Sign in to 1Password:
op signin
-
Create "ai" item in "Dev" vault (see 1Password Setup Guide):
- Field:
ANTHROPIC_API_KEY - Field:
LITELLM_MASTER_KEY(or virtual key) for the gateway - Any other provider keys you use (OpenAI, Google, etc.)
- Field:
# AI credentials auto-load when you enter dev-config directory
cd ~/Projects/dev-config
# ✅ AI credentials loaded from 1Password
# Use Claude Code with LiteLLM routing preconfigured
claude ask "What is this repository about?"
claude feature "Add a new greeting function"Alternative: Use wrapper for explicit credential injection:
op run -- claude ask "Explain this codebase"dev-config/
├── flake.nix # Nix package definitions (all tools)
├── flake.lock # Pinned versions (committed for reproducibility)
├── .envrc # direnv auto-activation
│
├── scripts/
│ ├── install.sh # NEW: Nix bootstrap (50 lines)
│ ├── load-ai-credentials.sh # NEW: 1Password integration
│ └── install-legacy.sh # OLD: Shell-based installer (backup)
│
├── nvim/ # Neovim config (symlinked to ~/.config/nvim)
├── tmux/ # Tmux config (symlinked to ~/.tmux.conf)
├── zsh/ # Zsh config (symlinked to ~/.zshrc)
└── ghostty/ # Ghostty config
Restart your terminal or source the Nix daemon:
source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh- Check authentication:
op account get - If not signed in:
op signin - Verify item exists:
op item get "ai" --vault "Dev"
Run activation manually:
nix run .#activate- Full Documentation: Nix Concepts
- Daily Workflows: Daily Usage
- LiteLLM Setup: LiteLLM Proxy
- 1Password Setup: 1Password Configuration
- Advanced Customization: Advanced Guide
- Validation: Run
bash scripts/validate.shto diagnose issues - GitHub Issues: https://github.com/samuelho-dev/dev-config/issues
- CLAUDE.md: See root
CLAUDE.mdfor AI assistance details