Skip to content

Latest commit

 

History

1,392 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

managed by chezmoi

install

macos

brew install chezmoi && chezmoi init --apply brendanlees

linux

sh -c "$(curl -fsLS get.chezmoi.io/lb)" -- init --apply brendanlees

windows

winget install -e --id twpayne.chezmoi --accept-source-agreements --accept-package-agreements
chezmoi init --apply brendanlees

on first run you'll be prompted to set machine role. these role flags gate which config and packages are applied.

personal | work | homelab

chezmoi will detect the system environment automatically, and configure things accordingly based on the relevant machine role.

darwin | windows| linux

see scoping for non-interactive options via env vars, ansible.

architecture

.chezmoiroot                    # points chezmoi at home/
home/                           # deployable chezmoi source state
  .chezmoi.toml.tmpl            # role and environment config
  .chezmoiexternal.toml.tmpl    # plugins, harness configs, fonts
  .chezmoidata/                 # defaults, themes, package data
  .chezmoiscripts/              # bootstrap and post-apply automation
  .chezmoitemplates/            # shared template partials
  dot_config/                   # XDG configuration
  dot_local/bin/                # user scripts
agents/                         # ~/.agents config
tests/                          # repo-only tests
docs/                           # repo-only documentation

docs

  • secrets - token and secrets (backed by bitwarden)
  • ssh - reproducable ssh config and keys (from bitwarden manifest file)
  • scoping - define machine roles, non-interactive options
  • themes - global theming, how to switch and add new
  • testing - ci pipeline and branch testing
  • zsh performance - documentation of small zsh/starship performance tweaks

Releases

Packages

Used by

Contributors

Languages