# Base system base base-devel linux linux-firmware linux-headers # CPU microcode — applied early by GRUB on the installed system (picked up by # the bootloader module). amd-ucode for the dev laptop's Ryzen; intel-ucode for # Intel targets. bos-copy-kernel also stages these into the live target /boot. amd-ucode intel-ucode # Power management (vendor-neutral; works on Intel and AMD). tlp auto-tunes power # by AC/battery and CPU driver; hypridle/hyprlock handle idle dim/off/lock/suspend # and the lock screen; upower exposes battery state. NOT power-profiles-daemon — # it conflicts with tlp. tlp tlp-rdw upower hypridle hyprlock # Bootloader + filesystem grub efibootmgr btrfs-progs dosfstools mtools # squashfs-tools: provides unsquashfs, which Calamares' unpackfs module uses # to extract airootfs.sfs onto the target during install. squashfs-tools # rsync: unpackfs copies the unpacked rootfs onto the target with rsync. rsync # Live-ISO boot (archiso bootmodes: bios.syslinux + uefi.systemd-boot) # mkinitcpio-archiso provides the initramfs hooks that find and mount # airootfs.sfs and switch root into it — without it the live ISO drops # to emergency mode on boot. mkinitcpio mkinitcpio-archiso mkinitcpio-nfs-utils syslinux memtest86+ memtest86+-efi edk2-shell # Snapshot infrastructure snapper snap-pac grub-btrfs 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 greetd-tuigreet xdg-utils xdg-user-dirs polkit polkit-gnome # Audio pipewire wireplumber pipewire-pulse pipewire-alsa pipewire-jack # Network networkmanager network-manager-applet iw # mDNS service/name resolution — lets CUPS auto-discover network printers and # resolves .local hostnames (avahi-daemon enabled + nss-mdns wired in # post-install.sh). avahi nss-mdns # Wi-Fi backend for NetworkManager (its default; no extra config needed). wpa_supplicant bluez bluez-utils # blueman: GUI Bluetooth manager (pair/connect devices; breadbar shows status only). blueman # GTK4 runtime gtk4 gtk4-layer-shell librsvg libpulse # GTK3 dark theme (Adwaita-dark); without this package the gtk-theme-name in # 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. 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 wayland-protocols # Fonts noto-fonts noto-fonts-cjk noto-fonts-emoji ttf-jetbrains-mono # Nerd font variant — icons in terminal tools (eza --icons, fastfetch, yazi) ttf-jetbrains-mono-nerd # Metric-compatible (Arial/Times/Courier) so Office/web docs lay out correctly, # broad Unicode fallback, and the Font Awesome icon glyph set (otf-, the desktop # variant — ttf-font-awesome resolves to the web-only woff2 build). ttf-liberation ttf-dejavu otf-font-awesome # Terminal kitty # File manager nautilus # gvfs: virtual filesystem layer for nautilus (trash, network places, removable # 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. zen-browser-bin mailcap # Installer — Calamares is AUR-only; built in-house and served from [breadway] # (calamares 3.4.x is already Qt6; there is no separate calamares-qt6 package) calamares # Bread ecosystem. # # The bread apps themselves (bakery, bread, breadbar, breadbox, breadcrumbs, # breadpad) are NOT pacman packages here — they are bakery-managed binaries # baked into /etc/skel/.local/bin at build time (see build-local.sh), so every # user gets the exact versions from this laptop's bakery install with no # network/DNS needed at install or runtime. Their runtime system deps are pulled # in elsewhere in this list (gtk4, gtk4-layer-shell, iw, libpulse, librsvg, # networkmanager, openssl, zlib, systemd-libs) — keep those even though no bread # package depends on them. # # bos-settings is a BOS-specific pacman package (not part of the bakery index), # so it stays here, served from the [breadway] repo. bos-settings # Input / screen utilities brightnessctl grim slurp # Clipboard (Wayland copy/paste; also clipboard screenshots) and media keys. wl-clipboard playerctl # Clipboard history daemon (stores wl-clipboard events; breadbox bind replays them). cliphist # Wallpaper daemon + pywal (drives the bread* colour palette from the wallpaper). awww python-pywal # Boot splash (BOS logo + spinner instead of kernel text). plymouth # Media codecs — GStreamer plugins for video thumbnails in nautilus, browser # media, and general playback. bad/ugly add patent-encumbered formats (H.264 etc). gst-plugins-good gst-plugins-bad gst-plugins-ugly # GUI audio mixer — useful when output device needs manual switching. pavucontrol # Utilities sudo git curl wget unzip tar gzip which man-db man-pages less # Base CLI tools every install should have. # Shell zsh # Editors 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 pciutils dmidecode lsof tree fastfetch # Removable-media filesystems (USB sticks, external drives) ntfs-3g exfatprogs # Archives 7zip zip unrar # Remote access (ssh client; sshd ships disabled) 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 # Firewall — ufw, enabled deny-incoming in post-install.sh (mDNS allowed so # printer discovery still works). ufw # Firmware updates via LVFS (works with gnome-software / fwupdmgr). fwupd # Compressed RAM swap — see /etc/systemd/zram-generator.conf. zram-generator # 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). papirus-icon-theme # Bibata-Modern-Ice: BOS default cursor. AUR-only upstream, republished to the # [breadway] repo (see packaging/bibata + .forgejo/workflows/bibata.yml). Set via # XCURSOR_THEME env in hyprland.lua and gtk settings.ini / gsettings. bibata-cursor-theme-bin # Qt dark theme — makes Qt5/Qt6 apps (VLC, pavucontrol, etc.) respect the dark # palette. qt5ct/qt6ct are configured via skel to use Fusion style in dark mode; # 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