For historical purposes, the older versions of my Dotfiles are
retained as branches. However, the chezmoi approach is current.
A key understanding of the workflow here is that Dotfiles should be per machine, and not generically per configuration.
By leveraging template substitution, conditionals can be eliminated from the
actual shell scripts, which allows for a faster shell. This does come at the
cost of portability, without the backing chezmoi machinery, the scripts are no
longer very portable.
To get started, we need:
sh -c "$(curl -fsLS chezmoi.io/get)" -- init --apply HaoZeke --branch chezmoi
chezmoi initNote that the chezmoi init command is being run twice, to grab some sensitive
information which needs the encryption settings, as discussed here.
The current sway-session semantics, tmux integration, and keyboard controls are documented in dot_config/sway/readme.org.
Templates branch on .chezmoi.hostname. Hardware gates name one host;
role gates list every host that shares the role.
| Host | Hardware | Role |
|---|---|---|
rgx1gen11 | ThinkPad X1 Carbon Gen 11 | Personal laptop, Livingston profile |
rglat5340 | Dell Latitude 5340, i5-1345U, 16 GB, 256 GB | Replaces rgx1gen11; same role gates |
rgSURFLat | Dell Latitude 7430 | SURF work laptop |
rgam5terra | AM5 desktop, NVIDIA | Build and serve box |
Installed from hzArchiso with hz-install --profile rglat5340. The role
gates it shares with rgx1gen11 cover the shell environment, the x-cmd
bundle, KSM, ananicy, realtime audio, the session OOM baseline, memory and
zram tuning, network ingress, the terra mail tunnel, and orgaw.
The hardware gates stay per host. The ThinkPad trackpoint, power bindings,
plymouth resume, TLP baseline and linux-rg fragment stay on rgx1gen11.
The 5340 has its own run_onchange_linux_rglat5340_power.sh.tmpl and
dot_local/share/rglat5340/tlp-00-base.conf: Dell platform profile
balanced on AC and quiet on battery, charge thresholds 75 to 90, and the
LPSS I2C controllers of the ELAN touchscreen and touchpad pinned on.
run_onchange_linux_rglat5340_system.sh.tmpl sets up the greetd and tuigreet
login into start-sway, uinput and the input group for kanata (Colemak),
and enables bluetooth, tailscaled and sshd.
EESSI is the primary software stack there. The same script mounts
software.eessi.io system-wide through cvmfs-eessi.service, running
cvmfs2 -o libfuse=2 with CERN’s el9 fuse2 libraries in /opt/cvmfs-fuse2,
because the fuse3 path of the Arch package never answers a read. It needs
the AUR cvmfs and cvmfs-config-eessi packages. eessi [VERSION] in any
shell then loads the stack:
eessi 2025.06 && module load GCC/13.3.0Meta oomd joins it too, from a stage tarball built on rg.terra and placed at ~~/.local/share/rg-oomd/~. The two cosmoet relay forwards stay on the X1, since they name it.
First apply, as the user, after the age identity is at ~~/key.txt~:
chezmoi init --apply HaoZeke --branch chezmoiThe Livingston stack and the full assistant profile come from the sealed store; unseal it before the second apply.
MIT.