diff options
Diffstat (limited to 'setup.sh')
| -rwxr-xr-x | setup.sh | 28 |
1 files changed, 17 insertions, 11 deletions
@@ -21,7 +21,9 @@ log_error() { echo -e "${RED}[ERROR]${NC} $1"; } # Elevate privileges early and keep sudo alive sudo --validate -while true; do sudo --non-interactive true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null & +while true; do sudo --non-interactive true; sleep 60; done 2>/dev/null & +SUDO_LOOP_PID=$! +trap 'kill "$SUDO_LOOP_PID" 2>/dev/null || true' EXIT # Safety Check: Prevent running as root directly if [ "$EUID" -eq 0 ]; then @@ -62,7 +64,7 @@ fi # Install packages listed in 'all' if [ -f "./all" ]; then log_info "Installing packages from list ('all')..." - paru -S --needed --noconfirm - < ./all + grep -v -E '^\s*#|^\s*$' ./all | xargs -r paru -S --needed --noconfirm else log_warn "Package list file './all' not found. Skipping bulk package installation." fi @@ -81,19 +83,19 @@ sudo passwd -l root >/dev/null # Copy basic configuration files safely sudo cp -v ./etc/keyd/keyd.conf /etc/keyd/ -sudo cp -v ./etc/pacman.conf /etc/ -sudo cp -v ./etc/kernel/cmdline /etc/kernel/ +sudo cp --backup=numbered -v ./etc/pacman.conf /etc/ +sudo cp --backup=numbered -v ./etc/kernel/cmdline /etc/kernel/ 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/login.defs /etc/ -sudo cp -v ./etc/updatedb.conf /etc/ +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 -v ./etc/systemd/coredump.conf /etc/systemd/ +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 -v ./etc/cups/cupsd.conf /etc/cups/ +sudo cp --backup=numbered -v ./etc/cups/cupsd.conf /etc/cups/ # Append tmpfs to /etc/fstab securely using tee if [ -f "./etc/fstab" ]; then @@ -179,7 +181,7 @@ done # Set all AppArmor profiles to enforce mode log_info "Enforcing AppArmor profiles..." if command -v aa-enforce >/dev/null 2>&1; then - sudo aa-enforce /etc/apparmor.d/* 2>/dev/null || true + sudo aa-enforce /etc/apparmor.d/ 2>/dev/null || true else log_warn "aa-enforce tool not found. AppArmor profiles will load in default mode via apparmor.service." fi @@ -207,10 +209,14 @@ cp -v dotfiles/.inputrc "$USER_HOME/" mkdir -pv "$USER_HOME/.config/" "$USER_HOME/.local/bin/" "$USER_HOME/Pictures/" -rm -rf "$USER_HOME/.config/fastfetch" +if [ -d "$USER_HOME/.config/fastfetch" ]; then + mv "$USER_HOME/.config/fastfetch" "$USER_HOME/.config/fastfetch.bak.$(date +%s)" +fi cp -rv dotfiles/.config/fastfetch "$USER_HOME/.config/" -rm -rf "$USER_HOME/.config/nvim" +if [ -d "$USER_HOME/.config/nvim" ]; then + mv "$USER_HOME/.config/nvim" "$USER_HOME/.config/nvim.bak.$(date +%s)" +fi cp -rv dotfiles/.config/nvim "$USER_HOME/.config/" if [ -d "Pictures" ]; then |
