Move generated theme state out of the repository #8
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
.gitignore hides five generated files that sit inside the stow
package: lsd/colors.yaml, quickshell/settings.json,
quickshell/themes/current.json, fastfetch/config.jsonc and
fish_variables. That is machine state living in a git working tree.
The line to draw is Omarchy's: ~/.config/donbox for what may
deliberately be versioned, ~/.local/state/donbox/current for
everything generated, symlinked where an application demands a fixed
path, as qt6ct already is.
The .gitignore is down to session artefacts. Everything generated now lives in ~/.local/state/donbox/current, which is the old ~/.local/state/theme renamed into the namespace, and the five files that sat inside the stow package moved in with it.
lsd, fastfetch and fish are symlinked back from there, since each reads only from a path of its own choosing; the shell reads its settings and its resolved theme from the state directory directly. bootstrap.sh makes those three directories before it stows, because a directory left empty gets folded into a link to the repository and the next file written there lands in the working tree.
Landed in
da6e4fa. Migration 1787345134 does the move, resolving through the fold to find where the file really is, and its tests cover a folded machine, one already moved, and a contested file that must not be written over.