Skip to content

hdp617/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

chezmoi source with mode = "symlink" in .chezmoi.toml.tmpl. The managed checkout usually lives at ~/.local/share/chezmoi.

Shell: Fish is the intended daily driver (~/.config/fish/ from dot_config/fish/). Zsh remains available (dot_zshrc.tmpl, ~/.zsh symlink) for compatibility or scripts.

Large trees (vim/, zsh/, shell/ under the source dir) are populated by git-repo externals in .chezmoiexternal.toml. External paths are home-relative (.vim/…, .zsh/…, .shell/…) so clones land behind the ~/.vim, ~/.zsh, and ~/.shell symlinks into this repo.

First-time setup

  1. Install chezmoi (for example brew install chezmoi).

  2. Initialize from GitHub (clones into ~/.local/share/chezmoi and writes ~/.config/chezmoi/chezmoi.toml):

    chezmoi init --apply YOUR_GITHUB_USERNAME/dotfiles
  3. On chezmoi apply, chezmoi clones or updates externals under $(chezmoi source-path) (see refreshPeriod in .chezmoiexternal.toml; 0 means no periodic git pull—use chezmoi apply --refresh-externals when you want to update plugins).

  4. Set Fish as the login shell (after brew install fish or your distro package), then:

    grep -q (which fish) /etc/shells; or echo (which fish) | sudo tee -a /etc/shells
    chsh -s (which fish)

    Optional local overrides: create ~/.config/fish/config.local.fish (sourced at end of config.fish).

Updates

chezmoi git pull -- --ff-only
chezmoi apply --refresh-externals

Or your usual dfu alias if it wraps the same steps.

Layout notes

  • Fish (dot_config/fish/): conf.d/ snippets (PATH from 00-chezmoi-path.fish.tmpl, env, abbreviations, dircolors, Catppuccin theme, vi bindings, secrets) and functions/ for dfu, load_secret, cdgr, up, helpers, plus fish_prompt / fish_right_prompt (cwd + USER at <~/.name> + fish_git_prompt). Not ported from zsh: async right-prompt, tog / vshow / vmultiline.
  • Vim externals (.chezmoiexternal.toml): vim-polyglot for bundled syntax; vim-go with g:polyglot_disabled = ['go'] in dot_vimrc so Go stays on vim-go. Separate trees for preservim/nerdtree, lightline.vim, material.vim, incsearch.vim. Dircolors: nordtheme/dircolors under ~/.shell/plugins/nord-dircolors/.
  • dot_zshrc.tmpl: main zsh init (PATH, Homebrew on macOS, shared ~/.shell and ~/.zsh bits). Optional ~/.zshrc.local is sourced last for machine-only overrides (not in this repo).
  • dot_hammerspoon/ is skipped on non-macOS via .chezmoiignore.tmpl.
  • dotfiles-local/ is ignored until removed locally.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors