diff --git a/setup/arch-autoinstall.sh b/setup/arch-autoinstall.sh index f6a56a6..d873f26 100755 --- a/setup/arch-autoinstall.sh +++ b/setup/arch-autoinstall.sh @@ -382,6 +382,18 @@ echo "$HOSTNAME" > /etc/hostname # NetworkManager systemctl enable NetworkManager +# Populate /etc/skel with dotfiles and base configs for all new users +echo "Cloning dotfiles into /etc/skel..." +git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git /etc/skel/Dotfiles \ + || echo "Warning: dotfiles clone into skel failed — will fall back to direct clone." +# Seed /etc/skel with base shell dotfiles from the repo clone +if [[ -d /etc/skel/Dotfiles ]]; then + D=/etc/skel/Dotfiles + cp "$D/.zshrc" /etc/skel/.zshrc 2>/dev/null || true + cp "$D/.bashrc" /etc/skel/.bashrc 2>/dev/null || true + cp "$D/.vimrc" /etc/skel/.vimrc 2>/dev/null || true +fi + # User useradd -m -G wheel -s /bin/zsh "$USERNAME" echo "$USERNAME:$USERPASS" | chpasswd @@ -433,10 +445,15 @@ fi ################################################### # CLONE DOTFILES ################################################### -echo "Cloning dotfiles..." -git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git "/home/$USERNAME/Dotfiles" \ - && chown -R "$USERNAME":"$USERNAME" "/home/$USERNAME/Dotfiles" \ - || echo "Warning: dotfiles clone failed — clone manually after first boot." +if [[ -d "/home/$USERNAME/Dotfiles" ]]; then + echo "Dotfiles already in home via skel — fixing ownership." + chown -R "$USERNAME:$USERNAME" "/home/$USERNAME" +else + echo "Cloning dotfiles directly to user home (skel clone failed)..." + git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git "/home/$USERNAME/Dotfiles" \ + && chown -R "$USERNAME:$USERNAME" "/home/$USERNAME/Dotfiles" \ + || echo "Warning: dotfiles clone failed — clone manually after first boot." +fi CHROOT_EOF diff --git a/setup/archbaseos-guided-install.sh b/setup/archbaseos-guided-install.sh index 0c35f3f..5b5b6fb 100755 --- a/setup/archbaseos-guided-install.sh +++ b/setup/archbaseos-guided-install.sh @@ -343,6 +343,14 @@ echo "Cloning dotfiles into /etc/skel..." git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git /etc/skel/Dotfiles \ || echo "Warning: dotfiles clone failed — clone manually after first boot." +# Seed /etc/skel with base shell dotfiles from the repo clone +if [[ -d /etc/skel/Dotfiles ]]; then + D=/etc/skel/Dotfiles + cp "$D/.zshrc" /etc/skel/.zshrc 2>/dev/null || true + cp "$D/.bashrc" /etc/skel/.bashrc 2>/dev/null || true + cp "$D/.vimrc" /etc/skel/.vimrc 2>/dev/null || true +fi + mkdir -p /etc/skel/{Desktop,Documents,Downloads,Music,Pictures,Public,Templates,Videos} useradd -m -G wheel -s /bin/zsh "$USERNAME" diff --git a/setup/simple-install.sh b/setup/simple-install.sh index 0b397db..248d696 100755 --- a/setup/simple-install.sh +++ b/setup/simple-install.sh @@ -797,6 +797,18 @@ else fi fi +# ── Sync user config to /etc/skel ───────────────────────────────────────────── +# Captures everything installed by modules so future users start with the same setup. +if [[ -d "$HOME/.config" ]]; then + printf "\n Syncing ~/.config to /etc/skel...\n" + sudo mkdir -p /etc/skel/.config + sudo cp -r "$HOME/.config/." /etc/skel/.config/ +fi +[[ -d "$HOME/.themes" ]] && { sudo mkdir -p /etc/skel/.themes; sudo cp -r "$HOME/.themes/." /etc/skel/.themes/; } +[[ -f "$HOME/.zshrc" ]] && sudo cp "$HOME/.zshrc" /etc/skel/.zshrc +[[ -f "$HOME/.bashrc" ]] && sudo cp "$HOME/.bashrc" /etc/skel/.bashrc +[[ -f "$HOME/.vimrc" ]] && sudo cp "$HOME/.vimrc" /etc/skel/.vimrc + # ── Done ────────────────────────────────────────────────────────────────────── if $ANSWERFILE_MODE; then printf "\nDone. Log: %s\n" "$LOG" diff --git a/setup/tui-install.sh b/setup/tui-install.sh index aecdae7..566c72d 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -682,6 +682,18 @@ else fi fi +# ── Sync user config to /etc/skel ───────────────────────────────────────────── +# Captures everything installed by modules so future users start with the same setup. +if [[ -d "$HOME/.config" ]]; then + printf "\n Syncing ~/.config to /etc/skel...\n" + sudo mkdir -p /etc/skel/.config + sudo cp -r "$HOME/.config/." /etc/skel/.config/ +fi +[[ -d "$HOME/.themes" ]] && { sudo mkdir -p /etc/skel/.themes; sudo cp -r "$HOME/.themes/." /etc/skel/.themes/; } +[[ -f "$HOME/.zshrc" ]] && sudo cp "$HOME/.zshrc" /etc/skel/.zshrc +[[ -f "$HOME/.bashrc" ]] && sudo cp "$HOME/.bashrc" /etc/skel/.bashrc +[[ -f "$HOME/.vimrc" ]] && sudo cp "$HOME/.vimrc" /etc/skel/.vimrc + # ── Done ────────────────────────────────────────────────────────────────────── if $ANSWERFILE_MODE; then printf "\nDone. Log: %s\n" "$LOG"