HHousen's configuration files managed by chezmoi. Uses Zsh, Antidote for plugin management, powerlevel10k as the theme, Oh My Tmux for custom tmux configuration, Atuin for terminal history, mise for runtime and CLI tool management, and some tools from modern-unix.
Optionally, before following the installation steps below, create the file ~/.config/chezmoi/chezmoi.toml with any local template data you want to override:
[data]
atuin_sync_address="https://api.atuin.sh"
manage_firefox_user_chrome=true
git_email="hayden@haydenhousen.com"
git_name="Hayden Housen"This file defines variables to be used by chezmoi's templates.
Explanation of the options:
atuin_sync_address: URL of your Atuin sync server. Defaults tohttps://api.atuin.sh.manage_firefox_user_chrome: Set to true to symlink dot_firefoxUserChrome.css into~/.mozilla/firefox/<profile>/chrome/userChrome.css(where<profile>is automatically determined and is probably your default firefox profile). This is carried out by the run_once_after_firefox_user_chrome.sh.tmpl script. Defaults to false. The options in dot_firefoxUserChrome.css hide the horizontal tabs and are intended to be used with the Tree Style Tab firefox extension.git_emailandgit_name: Global git user email and name set in~/.gitconfig. If omitted, chezmoi leaves the[user]section out of~/.gitconfig.
Run sh -c "$(curl -fsLS git.io/chezmoi)" -- init --apply HHousen to get everything downloaded and installed or follow the individual steps below.
-
Install
chezmoiby following chezmoi's install guide. You can learn more aboutchezmoiby reading their quick start guide or how-to guide. -
Initialize
chezmoiusing this repository:chezmoi init https://github.com/HHousen/dotfiles.git. -
Preview changes that
chezmoiwould make to your$HOME:chezmoi diff. -
Apply the changes:
chezmoi apply. This will automatically install Antidote and packages required for certain plugins using the run_once_install-packages.sh.tmpl script. Upon the first launch, Antidote will initialize the plugins listed in dot_zsh_plugins.txt, which is applied to~/.zsh_plugins.txt. -
Launch zsh:
zsh.
The font I use is the Meslo Nerd Font patched for Powerlevel10k.
- zsh as the shell
- chezmoi for dotfiles management
- Antidote for plugin management
- powerlevel10k as the theme
- Oh My Tmux for custom tmux configuration
- Atuin for terminal history
- zoxide for a smarter
cdcommand - fzf for fuzzy finding
- bat for a better
catcommand - lsd for a better
lscommand - tealdeer for command-line access to tldr-pages
- thefuck for shell command correction
- mise for Node.js, Python, and npm-installed CLI tool management
- Atuin manages command history, so zsh history persistence is disabled.
- mise is activated in zsh and manages Node.js, Python, Claude Code, and Codex via dot_config/mise/config.toml.
- Zsh plugins are specified in dot_zsh_plugins.txt, which chezmoi manages as
~/.zsh_plugins.txt.
Claude and Codex configs are split between work and personal homes:
~/.claude-workand~/.claude-personal~/.codex-workand~/.codex-personal
The personal Claude settings file is managed as a chezmoi symlink to the work settings file.
- Run
chezmoi add <file>to add files to the chezmoi repo. - Edit files in
~/.local/share/chezmoior wherever the chezmoi repo is (chezmoi cdto find out). - Git commit (and eventually push) the changes.
- Run
chezmoi diffto preview the changes that will be made to your$HOME. - Run
chezmoi applyto apply the changes to your$HOME.