Skip to content

CSRessel/dotfiles

Repository files navigation

dotfiles

twpayne/chezmoi

Quick Start

Pre-Install Dependencies

Tools that will be configured by chezmoi below:

  • git
  • neovim
    • LunarVim
  • zsh
    • oh-my-zsh
    • zsh-kubectl-prompt
  • tmux
  • direnv
  • input-remapper
  • Tridactyl

Tools needed for my aliases and vim to work:

  • lang and toolchains
    • rustup
    • node (through nvm)
    • python3 (through the system)
    • (TODO) uv
  • command line replacements

Other tools, useful but not blocking install:

  • gh
  • jq
  • yq
  • direnv
  • kubectl

Getting Started

Install binary, for example:

One-line binary install

Then configure for local files and templating:

mkdir -p ~/.config/chezmoi/
touch ~/.config/chezmoi/chezmoi.toml
echo "[data]"                           >> ~/.config/chezmoi/chezmoi.toml
echo "  email = \"<EMAIL>@gmail.com\"" >> ~/.config/chezmoi/chezmoi.toml

chezmoi cd
git remote add origin https://github.com/CSRessel/dotfiles.git
git pull origin master
exit

chezmoi status
chezmoi diff

Philosophy

  1. Maximize consistency everywhere
  2. Minimize future cost to revise
  3. Automation used less than yearly is the worst of all worlds
  4. Never do thrice, automate at twice (assuming #3)

Philosophy in Practice

  • For aliases, use a prefix of the command when possible.
    • If you're ever in an unsupported environment, muscle memory is still consistent with the default tooling (Consistency)
    • If you ever revise your aliases or resolve a collision then you can still retain any existing muscle memory (Revision Cost)
  • TODO philosophy on...
    • keyboards,
    • vi bindings everywhere,
    • ephemeral environments,
    • remote development,
    • treat yearly setups like infra provisioning,
    • SSOT where possible for binaries/shortcuts/scripts/aliases/etc,

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published