#!/bin/bash # run_once_20-install-gui.sh # Hyprland and other DE/shell packages set -euo pipefail SYS="$(chezmoi data --format=json 2>/dev/null | jq -r '.system // "desktop"')" DISTRO_ID="$(chezmoi data --format=json 2>/dev/null | jq -r '.chezmoi.osRelease.id // empty')" if [ "$SYS" = "server" ]; then echo ">>> [gui] system=server, skipping" exit 0 fi case "$DISTRO_ID" in arch) echo ">>> [gui] arch, system=$SYS" # System packages sudo pacman -Syu --noconfirm --needed \ noto-fonts noto-fonts-cjk noto-fonts-emoji ttf-font-awesome nerd-fonts \ pipewire wireplumber pipewire-alsa pipewire-audio pipewire-jack \ pipewire-pulse gst-plugin-pipewire qt6-multimedia \ network-manager-applet \ bluez bluez-utils blueman gnome-bluetooth-3.0 \ cups cups-pdf cups-pk-helper \ qt5ct qt6ct \ papirus-icon-theme breeze-cursors adw-gtk-theme \ brightnessctl playerctl libnotify mediainfo \ fprintd kimageformats \ cliphist wl-clipboard tesseract zbar imagemagick img2pdf \ polkit-kde-agent xdg-desktop-portal-hyprland gnome-keyring \ hyprland greetd ghostty # Dank Shell - sed workaround to pass args to installer sudo -v && curl -fsSL https://install.danklinux.com | sed 's#\./installer$#./installer "$@"#' | sh -s -- -c hyprland -t ghostty --include-deps dms-greeter,danksearch,dankcalendar -y # Firefox theming pipx install pywalfox pywalfox install ln -sf ~/.cache/wal/dank-pywalfox.json ~/.cache/wal/colors.json ;; ubuntu) echo ">>> [gui] ubuntu, system=$SYS" echo ">>> [gui] ubuntu, no GUI packages" ;; *) echo ">>> [gui] unsupported distro: ${DISTRO_ID:-unknown}, skipping" exit 0 ;; esac echo ">>> [gui] done"