Personal dotfiles managed with Chezmoi.
This repository is used to install and maintain shell, editor, package, accessibility, and workstation configuration across Linux, WSL, and Windows systems. Templates are rendered through Chezmoi, and secrets are referenced through 1Password instead of being stored directly in the repo.
This setup grew out of two practical problems: machines fail, and rebuilding an environment from memory is slow and error-prone.
As a computer science student with multiple disabilities, I wanted a setup that makes future machine recovery and day-to-day configuration changes as painless as possible. That means keeping important shell, editor, accessibility, and package-management settings in one place so they can be reapplied consistently.
Chezmoi is the main tool for managing user-level configuration, and Chezetc is part of the broader workflow for handling root-owned files separately. The goal is portability, repeatability, and less friction when moving between systems or recovering from a lost machine.
- Cross-platform setup with Chezmoi templates
- Arch Linux and WSL workflow with
paru - Windows package bootstrap via
winget - Bash and PowerShell profiles managed from one source of truth
- App-specific config for tools such as GitHub CLI, NVDA, Starship, Topgrade, and QMK
- Separate package inventory exports for Linux and Windows
- Accessibility-minded setup intended to reduce rebuild effort
dot_*: files that map to home-directory dotfiles through Chezmoi naming rulesdot_config/: XDG-style application configurationAppData/: Windows application data and config filespackage-lists/: exported package inventories for Linux and Windowsqmk_firmware/: personal QMK keyboard layout filesreadonly_Documents/readonly_workspaces/: VS Code workspace filesrun_onchange_*: Chezmoi scripts that bootstrap packages during apply
chezmoi1PasswordandopCLI for templates that useonepasswordRead- On Linux and WSL: Arch Linux with
pacmanand access to installparu - On Windows:
winget
Secrets are expected to come from 1Password references inside templates.
Examples in this repo include values such as:
- GitHub CLI auth tokens
- API keys for local applications
Before applying on a fresh machine, make sure the required items exist in your
1Password vault and that op is authenticated.
Clone the repository into the Chezmoi source directory or initialize from it.
chezmoi init https://github.com/RareBird15/dotfiles.git
chezmoi applyIf you already use a local source directory:
chezmoi cd
chezmoi applyPreview changes before applying:
chezmoi diffApply changes:
chezmoi applyEdit a managed file:
chezmoi edit ~/.bashrcUpdate package bootstrap inputs and re-apply:
chezmoi apply- Primary WSL distro is Arch Linux
- Installs base build tooling and
paruif needed - Applies packages listed in
.chezmoidata/packages.yaml - Includes WSL-specific shell behavior where relevant
- Uses
wingetfor package bootstrap - Manages PowerShell profile and AppData-backed config
- Keep secrets out of the repo and local history artifacts
- Update
package-lists/when package inventories change - Document notable behavior changes in
CHANGELOG.md
This repository is available under the MIT License. See LICENSE for details.