This repository hosts my personal set of dotfiles. I've published these files to multiple git servers which are more than likely outdated. For the latest version of my dotfiles please use my primary repo: https://github.com/jls5177/dotfiles
Note: This repo is heavily inspired by Ben Mezger's dotfile repo: https://github.com/benmezger/dotfiles
This package uses custom Chezmoi config directories to deploy multiple Chezmoi states. This allows for isolating my Secrets so they are not included with the normal Chezmoi state. Which causes constant password prompts and slows down the normal Chezmoi workflow. In addition, this separation allows for anyone to quickly deploy my dotfiles without much hassle.
Everything is driven through a Makefile to ensure a consistent environment when running Chezmoi. This allows you to have your own dotfiles deployed with Chezmoi.
The following environment variables can be set to configure Chezmoi behavior:
ASK
: Set to1
if you want to enable chezmoi to prompt you for all values during initialization. Which you should always enable unless you are deploying into an environment without a TTY terminal.
For example, you can enable ASK
by running ASK=1 make reinit
.
mkdir -p ~/jls5177-dotfiles \
&& cd ~/jls5177-dotfiles \
&& git clone https://github.com/jls5177/dotfiles.git . \
&& ASK=1 make
Note: This should never be ran by anyone else as you will not have access to my personal secrets vault.
cd ~/jls5177-dotfiles && make secrets apply
Run the following command to re-run the initialization process. Which basically deleted the configuration and recreates it. Reprompting you for your details.
cd ~/jls5177-dotfiles && git pull -r && ASK=1 make reinit
The included makefile is a thin wrapper around Chezmoi commands. Here is a brief breakdown of each supported goal:
init
->chezmoi init
apply
->chezmoi apply
status
->chezmoi status
verify
->chezmoi verify
secerts
: Use in combination with any other goal to target the secrets config. E.g.make secrets reinit
scripts/chez.sh
: Simple wrapper around Chezmoi that allows you to run any Chezmoi command (useful for debugging/advanced usecases)scripts/schez.sh
: Same aschez.sh
except it targets the secrets config (instead of the default config)