From 3afa56220b73a7f01acee9fc069fb40d328d3797 Mon Sep 17 00:00:00 2001 From: Denis Chevalier Date: Fri, 7 Aug 2026 11:03:17 +0200 Subject: add initial system update and improve backups --- setup.sh | 49 ++++++++++++++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 19 deletions(-) diff --git a/setup.sh b/setup.sh index dec78b0..87fcc35 100755 --- a/setup.sh +++ b/setup.sh @@ -50,7 +50,7 @@ sudo reflector --country 'Austria' --latest 10 --sort rate --save /etc/pacman.d/ # Bootstrap Paru AUR helper if not installed if ! command -v paru >/dev/null 2>&1; then log_info "Paru not found. Installing dependencies and bootstrapping Paru..." - sudo pacman -Syu --noconfirm --needed base-devel git + sudo pacman -Sy --noconfirm --needed base-devel git git submodule update --init --recursive aur.archlinux.org/paru pushd aur.archlinux.org/paru >/dev/null @@ -61,6 +61,9 @@ else log_info "Paru is already installed." fi +# Update system +paru -Syu --noconfirm + # Install packages listed in 'all' if [ -f "./all" ]; then log_info "Installing packages from list ('all')..." @@ -82,21 +85,31 @@ log_info "Step 2: Deploying /etc System Configurations & Security Hardening..." sudo passwd -l root >/dev/null # Copy basic configuration files safely +if [ -d /etc/keyd ]; then + sudo cp -rv /etc/keyd /etc/keyd.bak.$(date +%s) +else + sudo mkdir -pv /etc/keyd +fi sudo cp -v ./etc/keyd/keyd.conf /etc/keyd/ + sudo cp --backup=numbered -v ./etc/pacman.conf /etc/ sudo chmod a+r /etc/pacman.conf -sudo cp -v ./etc/modprobe.d/blacklist-security.conf /etc/modprobe.d/ -sudo cp -v ./etc/pam.d/system-local-login /etc/pam.d/ -sudo cp -v ./etc/pam.d/system-login /etc/pam.d/ -sudo cp -v ./etc/pam.d/greetd /etc/pam.d/ + sudo cp --backup=numbered -v ./etc/login.defs /etc/ sudo cp --backup=numbered -v ./etc/updatedb.conf /etc/ + sudo visudo -cf ./etc/sudoers.d/00-hardening && sudo cp -v ./etc/sudoers.d/00-hardening /etc/sudoers.d/ sudo chmod 0440 /etc/sudoers.d/00-hardening + sudo cp --backup=numbered -v ./etc/systemd/coredump.conf /etc/systemd/ -sudo cp -v ./etc/sysctl.d/99-security.conf /etc/sysctl.d/ sudo cp --backup=numbered -v ./etc/cups/cupsd.conf /etc/cups/ +sudo cp -v ./etc/modprobe.d/blacklist-security.conf /etc/modprobe.d/ +sudo cp -v ./etc/pam.d/system-local-login /etc/pam.d/ +sudo cp -v ./etc/pam.d/system-login /etc/pam.d/ +sudo cp -v ./etc/pam.d/greetd /etc/pam.d/ +sudo cp -v ./etc/sysctl.d/99-security.conf /etc/sysctl.d/ + # Append tmpfs to /etc/fstab securely using tee if [ -f "./etc/fstab" ]; then if ! grep -q tmpfs /etc/fstab; then @@ -224,12 +237,12 @@ done log_info "Step 4: Deploying Dotfiles..." # User dotfiles -cp -v dotfiles/.bash_profile "$USER_HOME/" +cp -v --backup=numbered ./dotfiles/.bash_profile "$USER_HOME/" mkdir -pv "$USER_HOME/.scripts" -cp -v ./dotfiles/.scripts/.git-prompt.sh "$USER_HOME/.scripts/" +cp -v --backup=numbered ./dotfiles/.scripts/.git-prompt.sh "$USER_HOME/.scripts/" rm -f "$USER_HOME/.git-prompt.sh" -cp -v ./dotfiles/.bashrc "$USER_HOME/" -cp -v ./dotfiles/.inputrc "$USER_HOME/" +cp -v --backup=numbered ./dotfiles/.bashrc "$USER_HOME/" +cp -v --backup=numbered ./dotfiles/.inputrc "$USER_HOME/" mkdir -pv "$USER_HOME/.config/" "$USER_HOME/.local/bin/" "$USER_HOME/Pictures/" @@ -256,10 +269,10 @@ fi # Gtk theme if [ -d "$USER_HOME/.config/gtk-4.0" ]; then - mv "$USER_HOME/.config/gtk-4.0" "$USER_HOME/.config/gtk-4.0.$(date +%s)" + mv "$USER_HOME/.config/gtk-4.0" "$USER_HOME/.config/gtk-4.0.bak.$(date +%s)" fi if [ -d "$USER_HOME/.config/gtk-3.0" ]; then - mv "$USER_HOME/.config/gtk-3.0" "$USER_HOME/.config/gtk-3.0.$(date +%s)" + mv "$USER_HOME/.config/gtk-3.0" "$USER_HOME/.config/gtk-3.0.bak.$(date +%s)" fi cp -rv ./dotfiles/.config/gtk-4.0 "$USER_HOME/.config/" mkdir -pv "$USER_HOME/.config/gtk-3.0" @@ -276,10 +289,7 @@ fi cp -rv ./dotfiles/.config/qt6ct "$USER_HOME/.config/" cp -rv ./dotfiles/.config/qt5ct "$USER_HOME/.config/" -if [ -f "$USER_HOME/.config/cosmic-mimeapps.list" ]; then - mv "$USER_HOME/.config/cosmic-mimeapps.list" "$USER_HOME/.config/cosmic-mimeapps.list.bak.$(date +%s)" -fi -cp -v ./dotfiles/.config/cosmic-mimeapps.list "$USER_HOME/.config/" +cp -v --backup=numbered ./dotfiles/.config/cosmic-mimeapps.list "$USER_HOME/.config/" if [ -d "$USER_HOME/.config/cosmic" ]; then mv "$USER_HOME/.config/cosmic" "$USER_HOME/.config/cosmic.bak.$(date +%s)" @@ -306,12 +316,13 @@ fi # Root dotfiles deployment log_info "Deploying root user dotfiles..." -sudo cp -v ./dotfiles/.bash_profile /root/ +sudo cp -v --backup=numbered ./dotfiles/.bash_profile /root/ sudo mkdir -pv /root/.scripts -sudo cp -v ./dotfiles/.scripts/.git-prompt.sh /root/.scripts/ +sudo cp -v --backup=numbered ./dotfiles/.scripts/.git-prompt.sh /root/.scripts/ sudo rm -f /root/.git-prompt.sh -sudo cp -v ./rootfiles/.bashrc /root/ +sudo cp -v --backup=numbered ./rootfiles/.bashrc /root/ sudo mkdir -pv /root/.config/ +sudo rm -rv /root/.config/nvim sudo cp -rv ./dotfiles/.config/nvim /root/.config/ log_success "Arch Linux post-installation setup completed successfully!" -- cgit