fstrim, chronyd, NM globally-managed (conditional restart), pipewire user units
Harness: niri->gtk3, plasma/hyprland->qt6, preset applied once and kept, NM restart only on first run, starship not reinstalled.
Ported from the old starburst minimal-fedora script, adapted to this repo (polkit already solved properly via the user unit).
- PeaZip Qt6/GTK3 by environment, all names verified on F44, resilient
- Starship + tokyo-night preset (no-clobber: existing config and dotfiles always win)
- RobotoMono Nerd Font via install_nerd_font
- fstrim, chronyd, NM globally-managed (conditional restart), pipewire user units
Harness: niri->gtk3, plasma/hyprland->qt6, preset applied once and kept, NM restart only on first run, starship not reinstalled.
Section 8, after the advanced menu (summary renumbered to 9):
- PeaZip variant by environment: peazip-common + peazip-qt6 for
plasma/hyprland, peazip-common + peazip-gtk3 otherwise (all verified
on F44; peazip-qt6-10.9.0-1.fc44). Resilient: warns red, continues.
- Starship prompt via the official installer (command -v guarded), then
the tokyo-night preset ONLY when no starship.toml exists yet —
dotfiles checkouts always win over the preset.
- RobotoMono Nerd Font via the existing install_nerd_font helper
(modules keep installing JetBrainsMono; both are small).
- Services: fstrim.timer, chronyd, NetworkManager globally-managed
config (write + restart + 15s settle ONLY when the conf is absent —
no needless NM restarts on re-runs, and no SSH self-drop when the
config already exists), pipewire user units best-effort.
Polkit agent deliberately NOT ported: solved properly by the
polkit-kde user unit (VM-proven), the old polkit-kde-agent-1 line is
superseded.
Per YuKu: after the starship install, append
export STARSHIP_CONFIG=$HOME/.config/starship.toml
eval "$(starship init bash)"
to ~/.bashrc — but ONLY when fedora-dots was NOT cloned (on dots
machines .bashrc belongs to the dots). Also gated on starship actually
being present (no dead eval in every shell) and idempotent (grep
guard). Harness: appended once with dots=no, never with dots=yes
(clean-home re-test; the first test was invalid because rm -rf home/*
left the previous .bashrc — the known dotfile-cleanup pitfall), and
not duplicated on re-run.
Ported from the old fedora-full script:
- SilentSDDM SDDM theme in the tailoring section, gated on sddm
being installed (skipped on gdm setups), idempotent via the
~/git/SilentSDDM checkout (pull --rebase when present), pipefail
suspended around 'yes | ./install.sh' for the SIGPIPE trap.
- fedora-workstation-repositories added in base alongside the other
repos (it ships the google-chrome repo the Browsers option enables).
- Advanced menu: Editors (VSCodium flatpak), Graphics and Multimedia
(gimp/inkscape/obs/lollypop via dnf, spotify via flatpak), Development
Tools (single option: @development-tools wget cmake ninja-build
pkgconf-pkg-config). All names verified on F44.
- install_category_pkgs splits flatpak:<id> entries to Flathub so mixed
picks cannot fail each other's transactions.
Harness: sddm->theme installs, gnome->skipped, vscodium+spotify via
flatpak, lollypop via dnf in the same multi-pick, devtools as one
transaction, all five categories listed, unattended+piped green.
YuKu on the VM: menu installs were not quiet — the ONE place dnf's
full output still scrolled.
Root cause: the per-item install loop read picks with
'while read ... <<< "$sel"' — a herestring REPLACES stdin for its
whole body, so ui_quiet_run's tty gate saw 'piped' inside the loop
and every menu install ran in plain mode. Picks are now read into an
array first (herestring fills ONLY that); installs run in a for-loop
that never touches stdin.
Also silenced the remaining raw output in the menu path:
- Chrome repo wiring -> install_optional (quiet) + setopt silenced,
direct-rpm fallback via ui_quiet_run
- Brave addrepo -> ui_quiet_run
- flatpak installs -> ui_quiet_run; ui_quiet_run now also matches
flatpak's 'Installing...' progress (Unicode ellipsis) for the live
line and count, sanitized to printable ASCII (tr -cd) so a
non-UTF8 console never sees garbage bytes.
Pty-verified: live block lines + green summaries for chrome/gimp/
vscodium picks, flatpak progress only in the log, zero raw dnf or
flatpak text on screen.
yuri
merged commit 8fb78651c9 into main2026-11-02 17:50:02 +01:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Ported from the old starburst minimal-fedora script, adapted to this repo (polkit already solved properly via the user unit).
Harness: niri->gtk3, plasma/hyprland->qt6, preset applied once and kept, NM restart only on first run, starship not reinstalled.