#!/bin/bash set -e # Author : Eshan Roy # Author URL : https://eshanized.github.io/ # Function to log messages log_message() { echo "[INFO] $1" } # Function to log error messages log_error() { echo "[ERROR] $1" >&2 } log_message "--->> Start snigdhaos-final <<---" # Set permissions log_message "Setting permissions..." chmod 750 /etc/sudoers.d && log_message "Set /etc/sudoers.d permissions." chmod 750 /etc/polkit-1/rules.d && log_message "Set /etc/polkit-1/rules.d permissions." chown polkitd /etc/polkit-1/rules.d && log_message "Changed owner of /etc/polkit-1/rules.d to polkitd." # Copy skeleton files to root log_message "[Copy] /etc/skel -> /root" if cp -aT /etc/skel/ /root/; then log_message "Successfully copied /etc/skel/ to /root." else log_error "Failed to copy skeleton files." exit 1 fi # Cleanup autologin log_message "Cleaning up autologin..." if rm -rfv /etc/systemd/system/getty@tty1.service.d; then log_message "Autologin cleanup complete." else log_error "Failed to remove autologin files." exit 1 fi # Set editor to nano log_message "Setting editor to nano..." echo "EDITOR=nano" >> /etc/profile && log_message "Set default editor to nano." # Enhance Bluetooth log_message "Enhancing Bluetooth..." if sed -i "s/#AutoEnable=false/AutoEnable=true/g" /etc/bluetooth/main.conf; then log_message "Bluetooth AutoEnable enabled." else log_error "Failed to enable Bluetooth AutoEnable." exit 1 fi echo 'load-module module-switch-on-connect' | sudo tee --append /etc/pulse/default.pa && log_message "Added module-switch-on-connect to PulseAudio config." # Cleanup original files log_message "Cleaning up original files..." rm -fv /etc/sudoers.d/g_wheel && log_message "Removed /etc/sudoers.d/g_wheel." rm -fv /etc/polkit-1/rules.d/49-nopasswd_global.rules && log_message "Removed /etc/polkit-1/rules.d/49-nopasswd_global.rules." rm -v /root/{.automated_script.sh,.zlogin} && log_message "Removed original root files." mv -v /etc/snigdhaos-release /etc/lsb-release && log_message "Renamed /etc/snigdhaos-release to /etc/lsb-release." # Install kernel-install-mkinitcpio if using systemd-boot if [ -f /boot/efi/loader/loader.conf ]; then log_message "Installing kernel-install-mkinitcpio..." if pacman -U --noconfirm /usr/local/bin/kernel-install-mkinitcpio-*-any.pkg.tar.zst; then log_message "Successfully installed kernel-install-mkinitcpio." else log_error "Failed to install kernel-install-mkinitcpio." exit 1 fi else log_message "System not using systemd-boot. Skipping kernel-install-mkinitcpio installation." fi # Set root permissions log_message "Setting root permissions..." chmod -v 700 /root && log_message "Set root directory permissions to 700." # Run Snigdha OS Virtual-Machine-Check log_message "Running Snigdha OS Virtual-Machine-Check..." if /usr/local/bin/snigdhaos-virtual-machine-check; then log_message "Virtual machine check completed successfully." else log_error "Virtual machine check failed." exit 1 fi log_message "End!!!"