#!/bin/sh set -e ORIG_PWD=$(pwd) # Elevate to root if needed if [ "$(id -u)" -ne 0 ]; then exec sudo "$0" "$@" fi ORIG_USER=$(logname) ORIG_HOME=$(getent passwd "$ORIG_USER" | cut -d: -f6) # === Update system === echo "Updating system..." pacman -Syu --noconfirm # === Essential tools === ESSENTIAL_PACKAGES=" python3 vim neovim ranger firefox " # === Display manager === DISPLAY_MANAGER=" sddm " # === Wayland & Hyprland environment === WAYLAND_ENVIRONMENT=" hyprland hyprpaper waybar kitty wofi mako libnotify grim slurp wl-clipboard wayland-utils xorg-xwayland " # === Audio === AUDIO_PACKAGES=" pipewire wireplumber pipewire-pulse pavucontrol " # === Fonts & theming === FONTS_AND_THEME=" otf-font-awesome noto-fonts noto-fonts-cjk ttf-jetbrains-mono orchis-theme " # === Multimedia === MEDIA_PACKAGES=" mpv eog ffmpeg " # === Install all packages === echo "Installing packages..." pacman -S --noconfirm --needed \ $ESSENTIAL_PACKAGES \ $DISPLAY_MANAGER \ $WAYLAND_ENVIRONMENT \ $AUDIO_PACKAGES \ $FONTS_AND_THEME \ $MEDIA_PACKAGES # === Enable display manager === echo "Enabling SDDM..." systemctl enable sddm # === Apply GTK settings for theme and color scheme === echo "Applying GTK settings..." # Extract DBus address from the user's environment USER_DBUS_ENV=$(sudo -u "$ORIG_USER" -- dbus-launch) eval "$USER_DBUS_ENV" export DBUS_SESSION_BUS_ADDRESS export XDG_RUNTIME_DIR="/run/user/$(id -u $ORIG_USER)" sudo -u "$ORIG_USER" DBUS_SESSION_BUS_ADDRESS="$DBUS_SESSION_BUS_ADDRESS" \ XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" \ gsettings set org.gnome.desktop.interface gtk-theme "Orchis-Dark-Compact" sudo -u "$ORIG_USER" DBUS_SESSION_BUS_ADDRESS="$DBUS_SESSION_BUS_ADDRESS" \ XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" \ gsettings set org.gnome.desktop.interface icon-theme "Orchis-Dark-Compact" sudo -u "$ORIG_USER" DBUS_SESSION_BUS_ADDRESS="$DBUS_SESSION_BUS_ADDRESS" \ XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" \ gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" echo "GTK settings applied successfully." # === Run dotfiles setup === echo "Running dotfiles setup as $ORIG_USER..." cd "$ORIG_PWD" || exit 1 sudo -u "$ORIG_USER" HOME="$ORIG_HOME" python3 setup.py sudo -E -u "$ORIG_USER" HOME="$ORIG_HOME" mkdir -p "$ORIG_HOME/Downloads" "$ORIG_HOME/Documents" "$ORIG_HOME/Pictures" "$ORIG_HOME/Videos" "$ORIG_HOME/Repositories" echo "Dotfiles installed successfully."