diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-22 15:52:24 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-22 15:52:24 -0500 |
| commit | 97d5de4c6ab568af656aa44a96b0ec421c27e7fd (patch) | |
| tree | 4ae7077ee1d3ac4c89eb9362c31566d25e0c51e6 /archsetup.conf.example | |
| parent | ce863a414cbb05d23a134cd2c7892faa34a76852 (diff) | |
| download | archsetup-97d5de4c6ab568af656aa44a96b0ec421c27e7fd.tar.gz archsetup-97d5de4c6ab568af656aa44a96b0ec421c27e7fd.zip | |
feat(archsetup): clone dotfiles repo and stow per DESKTOP_ENV
Dotfiles now live in their own repo (git.cjennings.net/dotfiles.git), so archsetup clones DOTFILES_REPO to the user's ~/.dotfiles and stows the right tree for the chosen DESKTOP_ENV: dwm and hyprland get common/ plus their own layer, none gets the standalone minimal/ tree. The clone runs as the target user, so the working tree is user-owned with no chown-after race.
Add DOTFILES_REPO / DOTFILES_BRANCH / DOTFILES_DIR config keys with the same injection guard the other repo keys carry. If the clone doesn't produce a git checkout, error_fatal stops the install rather than silently skipping the restore step that reverts what stow --adopt pulled in. That restore now runs for every DESKTOP_ENV, including none — minimal/ ships the .bashrc/.bash_profile that collide with /etc/skel, so its --adopt needs the same cleanup.
Diffstat (limited to 'archsetup.conf.example')
| -rw-r--r-- | archsetup.conf.example | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/archsetup.conf.example b/archsetup.conf.example index fe8cd26..f866134 100644 --- a/archsetup.conf.example +++ b/archsetup.conf.example @@ -55,3 +55,19 @@ #SLOCK_REPO=https://github.com/yourusername/slock.git #DOTEMACS_REPO=https://github.com/yourusername/dotemacs.git #ARCHSETUP_REPO=https://github.com/yourusername/archsetup.git + +############################# +# Dotfiles +############################# +# Dotfiles live in their own repo, cloned to DOTFILES_DIR and stowed at install +# time. The repo must contain a common/ subdir plus dwm/, hyprland/, and/or +# minimal/ subdirs that stow cleanly to ~. DESKTOP_ENV picks which: +# dwm -> common/ + dwm/ +# hyprland -> common/ + hyprland/ +# none -> minimal/ only +#DOTFILES_REPO=https://git.cjennings.net/dotfiles.git +#DOTFILES_BRANCH=main +# DOTFILES_DIR: leave unset to use the target user's ~/.dotfiles (recommended). +# If you set it, use a literal absolute path under the user's home — this file is +# sourced as root, so $HOME here is /root, not the user's home. +#DOTFILES_DIR=/home/youruser/.dotfiles |
