This post is part of the $HOME... series.

Yet another post on provisioning machines with dotfiles… now with chezmoi

Background

Barely two months ago A few years ago, I wrote about moving away from the (now) python based dots to the rust based toml-bombadil. Unfortunately, the structure I backed myself into there was needlessly complicated, and involved manually making entries in the bombadil.toml file for each sub file. This was a good workflow in principle, since it enforces separation of concerns, but it was rather annoying in practice 1.

This post got sidelined a bunch of times over the years, as did a bunch of my work in progress posts, mostly because there were always some warts to be ironed out.

HPC Configurations

Around the same time as this post, I was writing up my trials and tribulations as a lowly user without admin access of the (then) new elja HPC cluster at the University of Iceland. Anyway, since HPC work (user / admin / whatever) is one of my main use-cases, this post could also be seen as a sequel of sorts to that one.

Dotfile management with chezmoi

chezmoi is almost an institution in and of itself, with detailed documentation and a plethora of users. Rather than go over the features of chezmoi, I’ll outline the components of my dotfiles as they appear in the course of setting up a new user instance on a remote headless machine 2.

Conclusions

There’s not a whole lot to say about the configuration. My setup has been fairly stable across a few systems with chezmoi but I haven’t also really shifted machines very much. There are a few moving parts I wish were simpler, like setting up encryption, but chezmoi is the sort of fully loaded footgun one needs while adrift on a sea of random impersonal /bin/bash terminals.

Info

As an aside, there are a lot of backlogged posts I meant to get around to writing but no longer feel all that strongly about. Most of these are written up in the original spirit of this blog (TL;DR: just write stuff down).


  1. I haven’t used bombadil in a few years now, it might have changed ↩︎

  2. An HPC (elja, which I used to work more with). ↩︎


Series info

$HOME... series

  1. Provisioning Dotfiles on an HPC
  2. Refactoring Dotfiles For Colemak
  3. HPC Dotfiles and LMod
  4. Dotfiles from dotgit to bombadil
  5. The State of my Dots <-- You are here!