diff options
| author | 2026-06-19 17:57:23 +0100 | |
|---|---|---|
| committer | 2026-06-19 17:57:23 +0100 | |
| commit | cf5a2f46f0167c8495d28de5b1364c8bc460b6d0 (patch) | |
| tree | 9c46279f71aab9757abef8af927a75b198690bf3 /dot_config/containers/storage.conf.tmpl | |
| parent | 259a3b989513f47f6cc5d36eaaf9e5fbef9b4d9a (diff) | |
| download | dotfiles-cf5a2f46f0167c8495d28de5b1364c8bc460b6d0.tar.gz dotfiles-cf5a2f46f0167c8495d28de5b1364c8bc460b6d0.tar.bz2 dotfiles-cf5a2f46f0167c8495d28de5b1364c8bc460b6d0.zip | |
Move VM dotfile deployment out of Home Manager and into chezmoi with a machineRole guard.
Add VM recipes for applying chezmoi state and restarting the Nix GnuPG agent.
Make host-only hooks no-op on the VM and render container storage per role.
Diffstat (limited to 'dot_config/containers/storage.conf.tmpl')
| -rw-r--r-- | dot_config/containers/storage.conf.tmpl | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/dot_config/containers/storage.conf.tmpl b/dot_config/containers/storage.conf.tmpl new file mode 100644 index 0000000..62dd35c --- /dev/null +++ b/dot_config/containers/storage.conf.tmpl @@ -0,0 +1,32 @@ +{{- $machineRole := default "host" (index . "machineRole") -}} +{{- if eq $machineRole "vm" -}} +# Rootless podman storage configuration. +# +# The VM uses ext4, so use the kernel overlay driver. runroot/graphroot default +# to $XDG_RUNTIME_DIR/containers and $XDG_DATA_HOME/containers/storage. + +[storage] +driver = "overlay" + +[storage.options.overlay] +# Kernel >=5.13 supports rootless overlay natively on the VM, so leave +# mount_program unset and avoid fuse-overlayfs. +{{- else -}} +# Rootless podman storage configuration. +# +# Uses the native kernel btrfs graph driver — much faster than fuse-overlayfs +# (especially `podman commit`) because layers are real btrfs subvolumes with +# CoW snapshots, no FUSE userspace round-trip. +# +# Switching driver requires a one-time `podman system reset --force`; the +# overlay/fuse-overlay on-disk layout is incompatible. See the migration +# helper at the dotfiles repo root (migrate-podman-to-btrfs.sh). +# +# graphroot/runroot left at defaults: +# graphroot = $XDG_DATA_HOME/containers/storage +# runroot = $XDG_RUNTIME_DIR/containers +# both are on btrfs in this setup (root fs is btrfs). + +[storage] +driver = "btrfs" +{{- end }} |
