🔧 chore(install): update AUR packages and scripts, improve installation process

This commit is contained in:
sankalp committed 2025-06-21 21:45:10 +05:45
1 parent 01a2d1aecc
commit 462587b2a8
1 file changed
+38 -37
+38 -37
View File
@@ -1,5 +1,18 @@
#!/bin/bash
# ███╗ ███╗ ██████╗ ██████╗ ██╗ ██╗███████╗
# ████╗ ████║██╔═══██╗██╔══██╗██║ ██║██╔════╝
# ██╔████╔██║██║ ██║██║ ██║██║ ██║███████╗
# ██║╚██╔╝██║██║ ██║██║ ██║██║ ██║╚════██║
# ██║ ╚═╝ ██║╚██████╔╝██████╔╝╚██████╔╝███████║
# ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝
#
# A hackable shell for Hyprland
# Installation Script for Arch Linux
#
# Repository: https://github.com/S4NKALP/Modus
# License: GPLv3
set -e # Exit immediately if a command exits with a non-zero status
set -u # Treat unset variables as an error
set -o pipefail # Prevent errors in a pipeline from being masked
@@ -9,15 +22,24 @@ INSTALL_DIR="$HOME/Modus"
PACKAGES=(
fabric-cli-git
cava
cliphist
gnome-bluetooth-3.0
gobject-introspection
slurp
ffmpeg
grimblast
hypridle
hyprlock
hyprpicker
imagemagick
libnotify
matugen-bin
noto-fonts-emoji
nvtop
playerctl
python-fabric-git
python-materialyoucolor-git
python-gobject
python-pillow
python-setproctitle
python-toml
@@ -26,21 +48,24 @@ PACKAGES=(
python-pywayland
python-pyxdg
python-ijson
sddm-theme-corners-git
python-watchdog
python-pyotp
ttf-nerd-fonts-symbols-mono
swww
swappy
wl-clipboard
webp-pixbuf-loader
wf-recorder
libadwaita
acpi
adw-gtk-theme
brightnessctl
wlinhibit
power-profile-daemon
ttf-chakra-petch
ttf-tabler-icons
uwsm
)
echo "Starting Modus installation..."
echo "=================================="
# Ensure running on Arch Linux
if ! grep -q "arch" /etc/os-release; then
echo "This script is designed to run on Arch Linux."
@@ -70,6 +95,8 @@ else
aur_helper="paru"
fi
echo "Using AUR helper: $aur_helper"
# Clone or update the Modus repository
if [ -d "$INSTALL_DIR" ]; then
echo "Updating Modus..."
@@ -94,43 +121,17 @@ for pkg in "${PACKAGES[@]}"; do
done
if [ ${#to_update[@]} -gt 0 ]; then
echo "Updating outdated packages..."
echo "⬆Updating outdated packages..."
$aur_helper -S --noconfirm "${to_update[@]}" || true
else
echo "All required packages are up-to-date."
fi
# Backup and replace GTK configurations
echo "Updating GTK configurations..."
mkdir -p "$HOME/.config"
[[ -d "$HOME/.config/gtk-3.0" ]] && mv "$HOME/.config/gtk-3.0" "$HOME/.config/gtk-3.0-bk-$(date +%s)"
[[ -d "$HOME/.config/gtk-4.0" ]] && mv "$HOME/.config/gtk-4.0" "$HOME/.config/gtk-4.0-bk-$(date +%s)"
cp -r "$INSTALL_DIR/assets/gtk-3.0" "$HOME/.config/" || true
cp -r "$INSTALL_DIR/assets/gtk-4.0" "$HOME/.config/" || true
# Install Icon Theme
echo "Installing Tela icon theme..."
tmpdir=$(mktemp -d)
git clone https://github.com/vinceliuice/Tela-icon-theme "$tmpdir/Tela-icon-theme"
cd "$tmpdir/Tela-icon-theme"
./install.sh nord
rm -rf "$tmpdir"
# Install Vencord
echo "Installing Vencord..."
if command -v curl &>/dev/null; then
sh -c "$(curl -sS https://raw.githubusercontent.com/Vendicated/VencordInstaller/main/install.sh)" || true
mkdir -p "$HOME/.config/Vencord/settings/"
ln -sf "$HOME/.cache/material/material-discord.css" "$HOME/.config/Vencord/settings/quickCss.css"
else
echo "Skipping Vencord installation (curl not found)."
fi
# Launch Modus
python "$INSTALL_DIR/config/config.py"
echo "Starting Modus..."
killall modus 2>/dev/null || true
python "$INSTALL_DIR/main.py" >/dev/null 2>&1 &
disown
uwsm app -- python "$INSTALL_DIR/main.py" > /dev/null 2>&1 & disown
echo "Installation complete."
echo "Installation complete!"