🔧 chore(install): update AUR packages and scripts, improve installation process
This commit is contained in:
1 file changed
+38
-37
+38
-37
@@ -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!"
|
||||
Reference in new issue
Block a user