Config files for macOS, Ubuntu, and Bluefin/Fedora. Managed with chezmoi.
This should always be considered a work-in-progress, and never really complete!
macOS
brew install chezmoiLinux (Ubuntu, Bluefin, or any distro with Homebrew)
sh -c "$(curl -fsLS get.chezmoi.io)"git clone git@github.com:pwlars/dotfiles.git ~/dotfileschezmoi expects its source at ~/.local/share/chezmoi. Point it at the cloned repo:
mkdir -p ~/.local/share
ln -sf ~/dotfiles ~/.local/share/chezmoiDry run first to see what would change:
chezmoi apply -nThen apply for real:
chezmoi applyThe first run will prompt for your git email address, which is stored in
~/.config/chezmoi/chezmoi.toml and reused on subsequent runs.
Apply a single file:
chezmoi apply ~/.zshrcSee what would change without applying:
chezmoi diffCheck the status of managed files:
chezmoi status| File | Destination |
|---|---|
dot_zshrc.tmpl |
~/.zshrc |
dot_gitconfig.tmpl |
~/.gitconfig |
dot_tmux.conf |
~/.tmux.conf |
dot_p10k.zsh |
~/.p10k.zsh |
dot_antigen.zsh |
~/.antigen.zsh |
dot_config/ghostty/config |
~/.config/ghostty/config |
dot_config/nvim/ |
~/.config/nvim/ |
Package lists live in packages/:
| File | Used on |
|---|---|
Brewfile |
macOS |
Brewfile.linux |
Linux (via Homebrew) |
apt.list |
Ubuntu / Debian |
rpm-ostree.list |
Bluefin / Fedora |
Install packages manually by running the appropriate run_once_10-install-packages.sh.tmpl
script, or let chezmoi handle it automatically on first apply.
- macOS: Homebrew is the primary package manager. The
Brewfileincludes casks (GUI apps). - Ubuntu: apt handles system packages; Homebrew handles user CLI tools.
- Bluefin:
rpm-ostreefor system packages (requires reboot); Homebrew for user tools. Bluefin is immutable so prefer Homebrew where possible.