Skip to content

Add Fedora support, Qt6 SDDM theme and config fixes - #16

Open
kaidozerotwo wants to merge 5 commits into
Ascaniolamp:mainfrom
kaidozerotwo:pr-fedora-support
Open

kaidozerotwo wants to merge 5 commits into
Ascaniolamp:mainfrom
kaidozerotwo:pr-fedora-support

Conversation

@kaidozerotwo

@kaidozerotwo kaidozerotwo commented Sep 14, 2026

Copy link
Copy Markdown

Summary

This adds a Fedora install path to the existing installer and fixes a few things that break on current releases of SDDM, Hyprland and Waybar. The Arch path stays the same apart from the Qt6 package names for SDDM.

Changes

Fedora support for the installer

  • helper.sh detects Fedora and installs packages with dnf, the sdegler/hyprland COPR and per-user Flatpaks. Each module gets its own dnfpkgs.lst / flatpakpkgs.lst.
  • AUR-only apps get Fedora stand-ins (fastfetch, rofimoji, nm-connection-editor, blueman). Apps with no equivalent are disabled.
  • GDM stays unless the user opts in to SDDM, and the GRUB theme is skipped on Fedora.
  • The installer asks before installing SDDM, Spotify and Vesktop, and the reboot prompt defaults to no.
  • Files under $HOME are no longer written with sudo, so they stay user-owned.
  • Appends are idempotent and safe on files with no trailing newline.
  • NVIDIA env vars go to nvidia.conf, and a local.conf is sourced last so user tweaks survive reinstalls.
  • The README has a new Fedora section.

SDDM theme on the Qt6 greeter
SDDM 0.21+ runs themes on Qt6, which has no QtQuick.Controls 1, Controls.Styles or Audio. Without a port, the theme fails to load and SDDM silently falls back to its embedded theme.

  • Ported to Qt6 imports and QtQuick.Controls.Basic. The background and sounds are kept; the sounds now play through QtMultimedia SoundEffect.
  • metadata.desktop sets QtVersion=6, and the package lists now use the Qt6 packages (qt6-declarative, qt6-multimedia, qt6-wayland).
  • A failed login now shows a visible message and clears and refocuses the password field. A Caps Lock warning and the current keyboard layout are also shown, so a rejected password is obvious even with the sound muted.

Config fixes

  • Waybar: removed a stray }, that closed the root object early and stopped the config from parsing. The memory module's right-click now opens missioncenter instead of the nonexistent missioncontrol.
  • Hyprland 0.56 renamed misc:new_window_takes_over_fullscreen to misc:on_focus_under_fullscreen.
  • Vesktop: the theme is installed under the filename that settings.json enables.

Testing

  • Full install on Fedora 44 (GNOME Workstation, NVIDIA): Hyprland session, Waybar, Rofi, SDDM and Vesktop.
  • Installer logic tested without installing packages (HYPRLAIN_SKIP_PACKAGES=1, a throwaway HOME, stubbed sudo/curl/flatpak).
  • bash -n passes on every install script.
  • SDDM theme: sddm-greeter-qt6 --test-mode loads it with no QML errors. As a control, a deliberately broken copy reports its error, which confirms the check can fail.
  • The sound playback via SoundEffect has only been load-tested in test mode, not heard on a live login screen.
  • Not tested on Arch. I don't have an Arch machine. The Arch-side changes are the Qt6 package names for SDDM and the shared helper changes, so a quick run of the SDDM module on Arch would be appreciated.

- Remove the stray closing brace that ends the root object early and stops waybar from parsing the config.
- Point the memory module's right-click at missioncenter instead of the nonexistent missioncontrol.
- Detect Fedora and install packages with dnf, the sdegler/hyprland COPR and per-user Flatpaks.
- Add dnfpkgs.lst and flatpakpkgs.lst package lists for each module.
- Swap AUR-only apps for Fedora stand-ins and disable the ones with no equivalent.
- Keep GDM unless the user opts in to SDDM, and skip the GRUB theme on Fedora.
- Write NVIDIA env vars to nvidia.conf and source a local.conf that survives reinstalls.
- Stop using sudo for files under the home directory so they stay user-owned.
- Make appends idempotent and newline-safe instead of editing the repo's own files.
- Install the Vesktop theme under the filename that settings.json enables.
- Ask before installing SDDM, Spotify and Vesktop, and default the reboot prompt to no.
Hyprland 0.56 replaced the option with misc:on_focus_under_fullscreen, and the
old name now fails config verification.
SDDM 0.21+ runs themes on Qt6, which has no QtQuick.Controls 1,
Controls.Styles or the Audio element, so the theme fails to load and SDDM
falls back to its embedded theme.

- Port Main.qml and the tooltips to Qt6 imports and QtQuick.Controls.Basic.
- Play the powerline, welcome and denied sounds with QtMultimedia SoundEffect.
- Resolve the session dropdown arrow against the theme directory.
- Size the login button without anchors inside a layout.
- Show a failed-login message, clear and refocus the password field, and
  warn when Caps Lock is on, so a rejected password is obvious with sound off.
- Show the current keyboard layout and highlight the focused field.
- Set QtVersion=6 in metadata.desktop and switch the package lists to Qt6.

Checked with sddm-greeter-qt6 --test-mode on Fedora 44: the theme loads
with no QML errors, and a deliberately broken copy reports its error.
@kaidozerotwo kaidozerotwo changed the title fedora project Add Fedora support, Qt6 SDDM theme and config fixes Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant