From 8d9bbfa40c09056b53d0d8d94054ddacba079dc3 Mon Sep 17 00:00:00 2001 From: d3v1l0n Date: Tue, 24 Dec 2024 02:21:59 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20feat:=20add=20resetting=20script?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snigdhaos-utils/snigdhaos-reset.sh | 74 ++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100755 snigdhaos-utils/snigdhaos-reset.sh diff --git a/snigdhaos-utils/snigdhaos-reset.sh b/snigdhaos-utils/snigdhaos-reset.sh new file mode 100755 index 00000000..ac26367a --- /dev/null +++ b/snigdhaos-utils/snigdhaos-reset.sh @@ -0,0 +1,74 @@ +#!/bin/bash + +# โœจ Script Developed by: D3V1L0N โœจ +# ๐ŸŒŸ Version: 1.0 ๐ŸŒŸ + +echo "โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€" +echo "๐ŸŽ‰ Hard Reset Script for Snigdha OS ๐ŸŽ‰" +echo "๐Ÿ‘จโ€๐Ÿ’ป Developed by: D3V1L0N" +echo "โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€" + +read -p "โš ๏ธ WARNING: This script will reset the system by removing non-essential packages and overwriting configurations. Do you want to continue? (y/n): " confirm +if [[ ! "$confirm" =~ ^[Yy]$ ]]; then + echo "๐Ÿšจ Operation aborted by user. Exiting... ๐Ÿšจ" + exit 1 +fi + +essential_packages=( + base + base-devel + linux + linux-firmware + systemd + grub + mkinitcpio + udev + vi + coreutils + bash +) + +is_essential() { + for pkg in "${essential_packages[@]}"; do + if [[ "$1" == "$pkg" ]]; then + return 0 + fi + done + return 1 +} + +echo "๐ŸŒ Updating package database..." +pacman -Sy --noconfirm + +installed_packages=$(pacman -Qq) + +echo "๐Ÿงน Cleaning up: Removing non-essential packages..." +for pkg in $installed_packages; do + if ! is_essential "$pkg"; then + echo "๐Ÿ—‘๏ธ Removing package: $pkg" + pacman -Rns --noconfirm "$pkg" + fi +done + +echo "โš™๏ธ Resetting configuration files..." +echo "โš ๏ธ WARNING: Resetting /etc will overwrite existing configurations! Backup any important configs before proceeding." +read -p "Are you sure you want to continue with the hard reset and overwrite /etc configuration files? (y/n): " confirm +if [[ ! "$confirm" =~ ^[Yy]$ ]]; then + echo "๐Ÿšจ Operation aborted by user. Exiting... ๐Ÿšจ" + exit 1 +fi + +rm -rf /etc/* +cp -r /etc/skel/* /etc/ + +echo "๐Ÿ”„ Reinstalling essential packages..." +for pkg in "${essential_packages[@]}"; do + pacman -S --noconfirm --needed "$pkg" +done + +echo "๐Ÿ”ง Rebuilding initramfs..." +mkinitcpio -P + +echo "๐ŸŽ‰ Hard reset complete! Essential packages reinstalled, system cleaned, and ready to go. ๐Ÿš€" + +echo "๐Ÿ”„ It's recommended to reboot your system now for changes to take effect."