mirror of
https://github.com/Snigdha-OS/snigdhaos-system-installation.git
synced 2025-09-21 05:44:57 +02:00
92 lines
3.0 KiB
Bash
Executable File
92 lines
3.0 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# Author : Eshan Roy <eshan@snigdhaos.or>
|
|
# 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!!!"
|