Personal dotfiles managed with chezmoi. Designed for a full macOS development environment and lightweight VS Code Devcontainers.
To set up a new machine (macOS or Linux):
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply jakemackThis will install chezmoi, clone this repo, prompt for your git identity, and apply your configurations.
- Cross-Platform: One configuration for macOS and Linux (Devcontainers).
- macOS Automation: Automatically installs Homebrew, bundles apps via
Brewfile, and sets macOS system defaults. - Devcontainer Ready: Includes an
install.shfor VS Code to instantly configure your shell in remote containers. - Modular Zsh: Cleanly separated aliases, functions, and Oh My Zsh customizations.
- Safe & Private: Uses templates for sensitive identity data (name/email) and supports a non-tracked
~/.localrcfor secrets.
dot_local/bin/: Custom scripts added to$PATH.dot_zsh/aliases/: Modular shell aliases.dot_zsh/functions/: Autoloaded Zsh functions.dot_zsh_custom/: Custom themes and plugins for Oh My Zsh.dot_config/: XDG-compliant application configurations (e.g., Ghostty).run_onchange_macos-setup.sh.tmpl: Automated macOS provisioning (Brew, system defaults).archive_go_manager/: Legacy Go-based dotfile manager (for reference).
After making changes to files in your home directory, tell chezmoi to track them:
chezmoi add ~/.zshrcTo apply changes from the repository to your machine:
chezmoi applyVS Code will automatically detect the install.sh in the root of this repository. When you open a project in a Devcontainer, it will run:
./install.shThis quickly sets up your Zsh environment without installing heavy macOS dependencies.
Create a ~/.localrc file for machine-specific environment variables or secrets. This file is sourced by .zshrc but is not tracked by git.
Originally inspired by Zach Holman's dotfiles.