Well's dotfiles, managed with chezmoi.
During the initial setup, the following tools are automatically installed:
0. age - Simple, modern encryption tool
- Required for chezmoi to decrypt encrypted secrets (API keys, etc.)
- Installed via system package manager (pacman/apt/dnf)
- Update:
sudo pacman -Syu(or your distro's update command)
1. Nix - Reproducible package manager
- Installed via Determinate Systems installer
- Enables declarative, reproducible development environments
- Required for devenv
- Update:
sudo nix-channel --update && nix-env -u
2. mise - Polyglot runtime manager
- Manages multiple language runtimes (Python, Node, Go, Rust, etc.)
- Installed to
~/.local/bin/mise - Update:
mise self-update
3. devenv - Declarative developer environments
- Built on Nix for reproducible project setups
- Includes LSPs, formatters, linters out of the box
- Update:
devenv update
4. uv - Fast Python package manager
- 10-100x faster than pip, replaces pip/pipx/poetry/pyenv
- Installed to
~/.local/bin/uvand~/.local/bin/uvx - Update:
uv self update
5. Podman - Daemonless container engine
- Docker-compatible, rootless container support
- Installed via system package manager (pacman/apt/dnf)
- Update:
sudo pacman -Syu(or your distro's update command)
6. Bun - Fast all-in-one JavaScript runtime
- Drop-in replacement for Node.js, with built-in bundler, test runner, package manager
- Installed to
~/.bun/bin/bun - Update:
bun upgrade
7. engram - AI task and workflow manager
- CLI tool for managing AI-powered tasks and workflows
- Installed to
~/.local/bin/engram(via GitHub binary) - Update: Run installation script again or use
update-all
8. pi - Terminal coding agent
- Minimal terminal coding harness with AI-powered assistance
- Installed via bun:
~/.bun/bin/pi - Package:
@earendil-works/pi-coding-agent - Update:
bun install -g @earendil-works/pi-coding-agent
Installed via system package manager (pacman/apt/dnf):
- Helix - Modern modal text editor
- ripgrep - Fast grep alternative (
rg) - Yazi - Terminal file manager
- bat - Cat with syntax highlighting
- duf - Modern disk usage tool
- eza - Modern ls replacement
- glow - Terminal markdown reader with TUI
- serpl - TUI search and replace tool
- Update:
sudo pacman -Syu(or your distro's update command)
Note: After installation, restart your shell to ensure all tools are in your PATH.
To update all installed tools at once, run:
update-allThis single command updates:
- ✅ System packages (age, podman, helix, ripgrep, yazi, bat, duf, eza, glow, serpl)
- ✅ mise and mise-managed runtimes (go, node, etc.)
- ✅ uv (Python package manager)
- ✅ Nix channels and packages
- ✅ devenv
- ✅ Bun (if installed)
- ✅ engram (if installed)
- ✅ pi coding agent (if installed via bun)
The script automatically detects your package manager and updates everything accordingly.
API keys are encrypted using age and stored securely in the dotfiles repository.
Your API keys are already configured and encrypted in ~/.config/fish/api-keys.fish (decrypted automatically by chezmoi).
-
Copy your age encryption key (one-time setup):
# Copy from your current machine scp ~/.config/chezmoi/key.txt new-machine:~/.config/chezmoi/key.txt # Or regenerate (will need to re-encrypt all secrets) chezmoi age decrypt --output ~/.config/chezmoi/key.txt
-
Bootstrap dotfiles (this will decrypt API keys automatically):
chezmoi init --apply well1791
-
Verify keys are loaded:
fish -c 'echo $BRAVE_API_KEY'
-
Edit the decrypted file:
chezmoi edit --watch ~/.config/fish/api-keys.fish -
Commit the encrypted file:
cd ~/.local/share/chezmoi git add home/dot_config/fish/encrypted_api-keys.fish.age git commit -m "chore: Update API keys"
- Brave Search API - Used by the
brave-searchskill for web search- Get your key at: https://api-dashboard.search.brave.com/register
- Already configured:
BRAVE_API_KEY
~/.config/chezmoi/key.txt securely! Without it, you cannot decrypt your API keys.