From c46e348d6ad5893a2a0e124b9c2c8a892f2a4d74 Mon Sep 17 00:00:00 2001 From: Breadway Date: Tue, 16 Jun 2026 14:26:49 +0800 Subject: [PATCH] Fill desktop gaps: GUI apps, printing, media, Qt/portal integration Add the packages a general desktop is expected to ship, chosen to stay opinionated but average-user friendly: - Editors: neovim (+ ripgrep, fd for a usable nvim/fzf experience) - GUI basics: gnome-text-editor, gnome-calculator, file-roller, loupe - Media: vlc (BOS had codecs but no player) - Hardware: cups + cups-pk-helper + system-config-printer (enable cups.socket in post-install), blueman, seahorse - Platform: qt5-wayland + qt6-wayland (native Wayland for Qt apps under the QT_QPA_PLATFORM=wayland we set), xdg-desktop-portal-gtk (file dialogs/screenshare for Flatpak/Electron/Zen), flatpak Co-Authored-By: Claude Opus 4.8 --- iso/airootfs/etc/calamares/post-install.sh | 2 +- iso/packages.x86_64 | 39 +++++++++++++++++++++- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/iso/airootfs/etc/calamares/post-install.sh b/iso/airootfs/etc/calamares/post-install.sh index 2f27409..87b5f63 100644 --- a/iso/airootfs/etc/calamares/post-install.sh +++ b/iso/airootfs/etc/calamares/post-install.sh @@ -100,7 +100,7 @@ fi # --------------------------------------------------------------------------- for unit in NetworkManager.service bluetooth.service systemd-timesyncd.service \ tlp.service greetd.service snapper-cleanup.timer grub-btrfsd.service \ - fstrim.timer; do + fstrim.timer cups.socket; do systemctl enable "$unit" || echo "WARN: failed to enable $unit" done systemctl set-default graphical.target || echo "WARN: set-default graphical failed" diff --git a/iso/packages.x86_64 b/iso/packages.x86_64 index bf7b24a..788708d 100644 --- a/iso/packages.x86_64 +++ b/iso/packages.x86_64 @@ -52,6 +52,9 @@ inotify-tools # Wayland / Hyprland hyprland xdg-desktop-portal-hyprland +# GTK portal backend — file-chooser/screenshot portals for Flatpak, Electron, +# and Firefox-based apps (Zen). Without it those apps get no file dialog. +xdg-desktop-portal-gtk # Login manager for the installed system (Wayland-native; enabled by # post-install.sh, launches the Hyprland session via tuigreet → bos-session). greetd @@ -76,6 +79,8 @@ iw wpa_supplicant bluez bluez-utils +# blueman: GUI Bluetooth manager (pair/connect devices; breadbar shows status only). +blueman # GTK4 runtime gtk4 @@ -86,8 +91,10 @@ libpulse # skel settings.ini silently falls back to the light theme for GTK3 apps. gnome-themes-extra # Credential/keyring storage — browsers, SSH agents, and most apps persist -# passwords here; without it every session loses saved logins. +# passwords here; without it every session loses saved logins. seahorse is the +# GUI to view/manage the stored secrets and keys. gnome-keyring +seahorse # Display (wlroots is bundled with Hyprland; don't list separately) wayland @@ -110,6 +117,17 @@ nautilus # media). gvfs-mtp adds Android/MTP device support (phones, tablets via USB). gvfs gvfs-mtp +# file-roller: archive manager — gives nautilus right-click Extract/Compress. +file-roller + +# GUI applications a general desktop is expected to have out of the box. +# gnome-text-editor: graphical editor (terminal editors aside); gnome-calculator: +# calculator; loupe: Wayland-native image viewer (default for image files). +gnome-text-editor +gnome-calculator +loupe +# Media player — BOS ships gstreamer codecs but otherwise has no player app. +vlc # Web browser (served from the [Breadway] repo; AUR zen-browser-bin republished # there so the ISO build can pull it via pacman). mailcap satisfies zen's # mime-types dependency explicitly. @@ -178,11 +196,15 @@ zsh nano micro vim +neovim # Shell QoL — modern replacements shipped with skel aliases set up eza bat fzf zoxide +# Fast search — pairs with fzf/zsh and underpins a good neovim experience +ripgrep +fd # System / hardware inspection htop usbutils @@ -203,6 +225,17 @@ openssh # Mirror management (refresh /etc/pacman.d/mirrorlist for the user's location) reflector +# Printing — CUPS daemon + GUI printer setup. cups-pk-helper lets the GUI add +# printers via polkit without a root shell. cups.socket is enabled in +# post-install.sh so printing works on the installed system. +cups +cups-pk-helper +system-config-printer + +# Flatpak — sandboxed third-party app distribution (Flathub). The user adds a +# remote post-install (needs network); the runtime is shipped ready. +flatpak + # Icon and cursor themes # Papirus-Dark: cohesive icon set used as the BOS default (set via gsettings in # hyprland.lua autostart and in skel gtk-3.0/settings.ini). @@ -217,6 +250,10 @@ bibata-cursor-theme-bin # QT_QPA_PLATFORMTHEME=qt5ct is set in hyprland.lua env. qt5ct qt6ct +# Native Wayland platform plugins for Qt — QT_QPA_PLATFORM=wayland (set in +# hyprland.lua) needs these or Qt apps fall back to (blurry) XWayland. +qt5-wayland +qt6-wayland # Dev tools (for bos-settings standalone install) rustup