This repository contains my personal dotfiles, managed with chezmoi, and designed for seamless use across local, containerized, and cloud development environments. It is structured to work out-of-the-box with:
- chezmoi: For dotfile management and templating
- DevPod: For reproducible development environments
- VS Code Dev Containers: For local and remote container-based development
- GitHub Codespaces: For cloud-based development
├── .chezmoi.toml.tmpl # chezmoi configuration (templated)
├── .chezmoiexternals/ # chezmoi-managed external resources (tools, fonts, configs)
├── .chezmoiscripts/ # chezmoi hook scripts (e.g., install packages)
├── .devcontainer/ # VS Code Dev Container config (Dockerfile, devcontainer.json)
├── dot_* # Dotfiles (bashrc, gitconfig, tmux, wezterm, zshrc, etc.)
├── dot_config/ # XDG config files (alacritty, git, k9s, mise, nvim, opencode, starship, zellij)
├── private_dot_gnupg/ # Private GPG config (not tracked by chezmoi)
├── setup # Bootstrap script for new machines
Clone the repo and run the setup script:
./setupThis will:
- Set your shell to zsh (if available)
- Install chezmoi (if not present)
- Apply all dotfiles to your home directory
chezmoi manages all dotfiles, templates, and external resources. It detects if you are running in a remote/container/Codespaces environment and adapts accordingly (see .chezmoi.toml.tmpl).
- chezmoi apply: Apply dotfiles to your home directory
- chezmoi update: Pull and apply latest changes
DevPod is supported via .chezmoiexternals/devpod.toml, which ensures the DevPod binary is installed and available in your environment.
- The
.devcontainer/folder contains adevcontainer.jsonand aDockerfilebased onghcr.io/rio/toolbox:latest. - Open the repo in VS Code and "Reopen in Container" to get a fully provisioned environment with all tools and dotfiles.
- This repo is Codespaces-ready. Just "Open in Codespaces" on GitHub and all dotfiles, tools, and configs will be provisioned automatically.
- Shells: zsh (default), bash
- Prompt: starship with custom theme
- Editor: Neovim (LazyVim-based), with plugins and extras
- Terminal: WezTerm, alacritty
- Multiplexers: tmux, zellij
- Tools: Managed with mise (see
.config/mise/config.toml) - Kubernetes: k9s with custom skin
- Fonts: DepartureMono (auto-installed)
- All dotfiles are templated for local/remote/container/cloud detection
- Add or modify tools in
.config/mise/config.toml - Add external resources in
.chezmoiexternals/ - Add post-install scripts in
.chezmoiscripts/
These dotfiles are provided as-is for personal use and inspiration. Use at your own risk.