Skip to content

well1791/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

306 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

github.com/well1791/dotfiles

Well's dotfiles, managed with chezmoi.

What Gets Installed

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/uv and ~/.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

9. Essential CLI Tools - Modern command-line utilities

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.

Updating All Packages

To update all installed tools at once, run:

update-all

This 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 Setup

API keys are encrypted using age and stored securely in the dotfiles repository.

On your current machine:

Your API keys are already configured and encrypted in ~/.config/fish/api-keys.fish (decrypted automatically by chezmoi).

On a new machine:

  1. 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
  2. Bootstrap dotfiles (this will decrypt API keys automatically):

    chezmoi init --apply well1791
  3. Verify keys are loaded:

    fish -c 'echo $BRAVE_API_KEY'

Adding or updating API keys:

  1. Edit the decrypted file:

    chezmoi edit --watch ~/.config/fish/api-keys.fish
  2. 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"

Available API integrations:

⚠️ Important: Back up ~/.config/chezmoi/key.txt securely! Without it, you cannot decrypt your API keys.

About

well1971 config files

Topics

Resources

Stars

Watchers

Forks

Contributors