How it works
getantidote/zdotdir
and uses Antidote to manage Zsh plugins.
~/.config/dotfiles
. It uses the XDG Base Directory Specification to define where configuration, data, and cache files are stored, making it easy to manage your dotfiles in a single repository.
During installation, you’ll remove the majority of your existing dotfiles from your home directory, as they are now managed in this repository. A bare minimum of configuration dotfiles are stored in your home directory to bootstrap the system and set local configuration:
~/.zshenv
bootstraps the system.~/.gitconfig.local
sets your Git username, email, and signing key.~/.config/dotfiles
, which contains all the configuration files for Zsh, Git, and Atuin. This keeps your home directory clean and organized.
~/.config/dotfiles/zsh/.zshenv
:
ZDOTDIR
: Where Zsh looks for configuration filesXDG_CONFIG_HOME
: Where applications store configurationXDG_DATA_HOME
: Where applications store persistent dataXDG_CACHE_HOME
: Where applications store temporary cache filesGIT_CONFIG_GLOBAL
: The global Git configuration fileATUIN_CONFIG_DIR
: The directory for Atuin configurationatuin/
- Enhanced command history configurationgit/
- Git configuration and global ignore patternszsh/
- All shell-related configurationzsh/.zshenv
- Always loaded first, sets up environmentzsh/.zprofile
- Login shells only, minimal setupzsh/.zshrc
- Interactive shells, loads plugins and featureszsh/.zshrc.d/*.zsh
- Modular configurations loaded alphabetically~/bin
, ~/.local/bin
) - Highest prioritycd
needed)**
, ~
, ^
.zshrc
file, configuration is split into logical modules in .zshrc.d/
:
aliases.zsh
- Command shortcuts and convenience aliasesbrew.zsh
- Homebrew package manager integrationoptions.zsh
- Core shell behavior settingsorbstack.zsh
- Container platform integration.zfunctions/
directory contains utility functions that are auto-loaded. These functions provide additional capabilities.
is-macos
- Detect macOS for conditional logic~/.gitconfig
, this system uses a structured approach to manage Git configuration. The git/
directory contains:
git/.gitconfig
- Global Git settings shared across all repositoriesgit/.gitignore_global
- Patterns to ignore across all repositories.gitignore_global
file instructs Git to ignore these file and directories across all repositories:
*.local.*
- Local configuration files*.local
- Local directories.DS_Store
- macOS Finder metadata files