Personal development environment configuration managed with Chezmoi and Pixi.
One-liner that handles cache permissions and installs everything:
DevContainers/DevPod:
curl -fsSL https://raw.githubusercontent.com/blooop/dotfiles/main/install.sh | DEVPOD=1 bashFull (personal machines):
curl -fsSL https://raw.githubusercontent.com/blooop/dotfiles/main/install.sh | bashags (Austin Gregg-Shell) gives you a full dotfiles environment in an isolated $HOME that doesn't affect the host. Nothing is written outside ~/.local/share/ags/ and ~/.local/bin/ags.
mkdir -p ~/.local/bin && curl -fsSL https://raw.githubusercontent.com/blooop/dotfiles/main/private_dot_local/private_bin/executable_ags -o ~/.local/bin/ags && chmod +x ~/.local/bin/agsags # enter isolated shell
ags update # reinstall dotfiles
ags uninstall # remove ags and cached environmentOn machines with the full dotfiles already installed, ags is also available directly via chezmoi.
For more control, choose the installation level based on your use case:
Minimal (shared/untrusted machines - tools only, no git config):
sudo apt update && sudo apt install -y curl && \
curl -fsSL https://pixi.sh/install.sh | bash && \
export PATH="$HOME/.pixi/bin:$PATH" && \
pixi global install chezmoi && \
chezmoi init --apply --exclude .gitconfig git@github.com:blooop/dotfiles.git && \
pixi global syncDevContainers (development containers - tools + git config):
sudo apt update && sudo apt install -y curl && \
curl -fsSL https://pixi.sh/install.sh | bash && \
export PATH="$HOME/.pixi/bin:$PATH" && \
pixi global install chezmoi && \
DEVPOD=1 chezmoi init --apply git@github.com:blooop/dotfiles.git && \
pixi global syncFull (personal laptop - complete setup):
sudo apt update && sudo apt install -y curl && \
curl -fsSL https://pixi.sh/install.sh | bash && \
export PATH="$HOME/.pixi/bin:$PATH" && \
pixi global install chezmoi && \
chezmoi init --apply git@github.com:blooop/dotfiles.git && \
pixi global syncNote: Always inspect scripts before running. You can review files at github.com/blooop/dotfiles
For development containers, you have two options:
DevPod (automated):
First-time setup - add the Docker provider and configure automatic dotfiles:
devpod provider add docker
devpod context set-options -o DOTFILES_URL=https://github.com/blooop/dotfilesThis configures devpod to automatically install dotfiles for all new workspaces.
Alternatively, use the --dotfiles argument for individual workspaces:
devpod up <project-repo> --dotfiles https://github.com/blooop/dotfilesDevPod will automatically detect and run the install.sh script to configure your environment.
Manual (any devcontainer):
Use the DevContainers installation command above, or add to your devcontainer configuration.
- Essential CLI tools - fzf, fd, ripgrep, htop, btop, nvtop
- Development tools - chezmoi, lazygit, ccache
- Editors - Neovim with full configuration, vim
- Utilities - curl, unzip
Minimal setup optimized for development containers:
- Excludes git, git-lfs, openssh (provided by container)
- Focuses on productivity tools and editors
Complete setup for host machines:
- Git tools - git, git-lfs for full version control
- SSH tools - openssh suite for secure connections
- All core tools - Everything from DevPod profile plus host-specific tools
- Rust development - Can be enabled during interactive setup
The git configuration (included in DevContainers and Full installations) provides:
- Useful aliases -
pom(pull origin main),cam(commit -am),pomp(pull and push) - Sensible defaults - Auto-setup remotes, consistent behavior across environments
- Personal credentials - Uses Austin Gregg-Smith's git user info (use Minimal installation to avoid this)
fzf- Fuzzy file finderfd- Fast file searchripgrep- Fast text searchnvim- Neovim editorlazygit- Terminal git UIchezmoi- Dotfiles managementhtop,btop,nvtop- System monitoringccache- Compiler cachingcurl,unzip- Essential utilities
git- Git version controlgit-lfs- Git Large File Storageopenssh- SSH client and server tools
You can customize which profile is used by editing dot_chezmoi.toml:
[data]
profile = "devpod" # or "full"
tools = { rust = false } # or true to include Rust toolsThis dotfiles repository is compatible with:
- DevPod & DevContainers - Automated or manual setup in development containers
- Traditional Chezmoi workflow - Manual installation and management
- Any Unix-like system - Linux, macOS, WSL
| Key | Action |
|---|---|
Ctrl+R |
Fuzzy search command history |
Ctrl+T |
Fuzzy find files, insert path |
Alt+C |
Fuzzy find directories, cd into it |
**<TAB> |
Trigger fzf completion (e.g. cd **<TAB>, ssh **<TAB>) |
| Command | Action |
|---|---|
z <query> |
Jump to best-matching directory (zoxide) |
zi <query> |
Jump with fzf picker (zoxide) |
.. / ... / .... |
Go up 1/2/3 directories |
| Alias | Action |
|---|---|
ga |
Interactive stage files |
gc |
Checkout branch |
gcf |
Checkout file |
gco |
Checkout commit |
gct |
Checkout tag |
gd |
Interactive diff |
glo |
Interactive log |
gbl |
Interactive blame |
grb |
Interactive rebase |
grh |
Reset head |
gss |
Stash show |
gsp |
Stash push |
gbd |
Branch delete |
gclean |
Interactive clean |
gfu |
Fixup |
gsq |
Squash |
gcp |
Cherry pick |
grc |
Revert commit |
grl |
Reflog |
grw |
Reword |
| Alias | Action |
|---|---|
gs |
git status |
gp |
git push |
lg |
lazygit |
git com |
Checkout main |
git pom |
Pull origin main |
git cam |
Commit -am |
git pomp |
Pull origin main + push |
| Alias | Action |
|---|---|
ll |
ls -alF |
la |
ls -A |
l |
ls -CF |
cld |
Claude CLI (skip permissions) |
cldr |
Claude CLI (resume, skip permissions) |
ralph <chain> "prompt" |
Run a hat chain (Claude Code orchestrator) |
ralph --list |
List available chains and hats |
ralph pr "prompt" |
PR feedback loop (gather/fix/self-review/push until clean) |
After initial setup, use Chezmoi commands to manage your configuration:
chezmoi update # Pull and apply latest changes
chezmoi edit # Edit configuration files
chezmoi apply # Apply pending changes