Initial commit
This commit is contained in:
84
build.sh
Executable file
84
build.sh
Executable file
@@ -0,0 +1,84 @@
|
||||
#!/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
|
||||
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
|
||||
"
|
||||
|
||||
# === Multimedia ===
|
||||
MEDIA_PACKAGES="
|
||||
mpv
|
||||
"
|
||||
|
||||
# === 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
|
||||
|
||||
# === 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
|
||||
|
||||
echo "Dotfiles installed successfully."
|
||||
Reference in New Issue
Block a user