55 lines
1.9 KiB
Bash
Executable File
55 lines
1.9 KiB
Bash
Executable File
#!/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"
|