a116bd530cff40a343bc13f9ad5e9eec39d0d148
fedora-niri-dms
An installer script that turns a minimal, terminal-only Fedora install into a complete niri + DankMaterialShell desktop, with the DMS login screen.
Quick start
- Install Fedora from the Everything netinstall ISO and choose Fedora Custom Operating System under Software Selection. Create a user with administrative privileges.
- Boot to the text login, sign in, and run:
curl -fsSL https://gitea.schantli.ca/jschantli/fedora-niri-dms/raw/branch/main/fedora-niri-dms-setup.sh -o setup.sh
bash setup.sh
Run it as your normal user, not root. It uses sudo when it needs to.
- Answer the optional questions at the start. The rest runs unattended.
- Reboot, pick the niri session at the login screen, and sign in.
Press Super+Shift+/ after logging in to see every keybind.
What it installs
| Area | Packages / changes |
|---|---|
| dnf | Parallel downloads, dnf5-plugins, full system update |
| Repos | RPM Fusion (free + non-free), Cisco OpenH264, avengemedia/dms COPR |
| Graphics | Mesa + Vulkan, plus VA-API drivers for AMD, Intel or NVIDIA (auto-detected) |
| Codecs | Full ffmpeg and the multimedia group |
| Audio | PipeWire, WirePlumber, SOF firmware |
| Hardware | Bluetooth, tuned-ppd power profiles, fwupd firmware updates |
| Desktop | niri, DankMaterialShell, xwayland-satellite |
| niri config | Waybar disabled (DMS is the bar), Super+T opens Ptyxis, Super+D opens the DMS launcher, Super+Alt+L locks with DMS |
| Removed | Waybar, mako, fuzzel, swaybg, swayidle, swaylock, Alacritty (DMS replaces them) |
| Login screen | DMS greeter (greetd), graphical boot target |
| Essentials | Ptyxis, Nautilus, Firefox, desktop portals, GNOME Keyring, Noto fonts, Flatpak + Flathub |
Optional (asked at the start)
- Steam and gamescope
- NetworkManager OpenVPN support (for PIA or other
.ovpnconfigs) - Fingerprint reader setup (Framework laptops)
- EasyEffects (for Framework's speaker profile)
Requirements
- Fedora 43 or newer, installed as Fedora Custom Operating System
- An internet connection
- A GPU with working acceleration
Testing in a VM
niri needs 3D acceleration, or you'll get a black screen after reboot. Turn it on before rebooting:
- Proxmox: Display → VirGL GPU (host needs
apt install libgl1 libegl1) - virt-manager / GNOME Boxes: Virtio video with 3D acceleration, Spice with OpenGL
- VirtualBox: VMSVGA with Enable 3D Acceleration
- VMware: Accelerate 3D graphics
Troubleshooting
| Problem | Fix |
|---|---|
| Black screen after reboot | Ctrl+Alt+F2, log in, then run niri-session or dms greeter status |
| DMS bar doesn't appear | Run dms run to see the error; check systemctl --user status dms |
| No sound | systemctl --user status pipewire wireplumber, then wpctl status |
| Screen sharing shows nothing | Check xdg-desktop-portal-gnome is installed, then log out and back in |
| Keyring asks for a password every login | sudo authselect enable-feature with-pam-gnome-keyring and reboot |
Notes
- The script is safe to re-run; each step checks before changing anything.
- Steam menu fix: xwayland-satellite 0.8.2 and older make X11 popup menus (like Steam's)
flicker and vanish. If Fedora's package is affected, the script builds the fixed upstream
commit (
add2795) into/usr/local/bin. A boot-time check (xwls-git-check.service) deletes that build, and then itself, once Fedora ships a newer version. - Your original niri config is saved as
~/.config/niri/config.kdl.origbefore it's edited. - No HDR yet: niri doesn't support it. HDR gaming needs a separate gamescope session.
- DMS comes from the stable
avengemedia/dmsCOPR, not the faster-movingdms-git.
License
MIT
Description
Installer script that turns a minimal Fedora install into a niri + DankMaterialShell desktop
71 KiB
0 Stars
1 Watchers
0 Forks
Languages
Shell
100%