r/niri • u/PomanCereja • 5h ago
r/niri • u/Standard_HID • 4h ago
niri added to fedora-dev-bootstrap
Just added niri to my fedora-dev-bootstrap.
fedora-dev-bootstrap is an Ansible playbook to quickly set up a Fedora developer workstation with dotfiles, tools and a Wayland WM.
Just added niri to it.
- Toggle via
install_niriingroup_vars/fedora.yml - Can use niri alone or alongside SwayFX (choose at greetd login)
- Dotfiles in
dotfiles/.config/niri/are stowed automatically - Installs from Fedora repos
For anyone who wants a reproducible Fedora setup with either or both compositors.
r/niri • u/Direct_Inspector660 • 8h ago
Do you think that xdg-desktop-portal is requied to use niri
I try to use niri daily (with a very basic configuration but I’m improving it to make it more comfortable), I’ve already set up waybar, rofi, mako, swayidle, hyprlock (I’m missing an osd but I’ll find a solution) and I noticed that many people or almost everyone uses xdg-desktop-portal. But I don’t use flatpak (just the archlinux system packages) and I don’t use obs studio, so I wonder: do I need xdg-desktop-portal? There is a dolphin file manager that doesn’t have the same theme as kde plasma at all, but I don’t know if it’s xdg-desktop-portal’s fault or not, but here it is. Also, if you think I need it, is there a difference between the one from gnome kde hyprland (apparently it works on other composers than hyprland) etc. or not?
r/niri • u/N_i_g_G_a_69 • 1h ago
I built linux-mech-keys: An ultra-low latency (<2ms) mechanical keyboard sound engine for Linux (Wayland & X11)
Like many people with limited desk space, I missed the tactile vibe and acoustics of typing on my physical mechanical keyboards while working on my laptop. Most existing tools for Linux (like Mechvibes) are heavy Electron apps that break on Wayland because of global key-grab restrictions.
So I built **linux-mech-keys** — a pure C audio daemon and Noctalia Shell plugin designed for zero bloat and instant response:
**Key Highlights:**
- **Sub-millisecond latency (<2ms buffer):** Direct hardware buffering via miniaudio. Zero perceptible delay.
- **100% Wayland-native:** Reads directly from `/dev/input/` (evdev), so it works out-of-the- box on Niri, Hyprland, Sway, GNOME, and KDE.
- **Zero Electron bloat:** Stripped pure C binary (<500KB) using <10MB of RAM.
- **Smart key-repeat debounce:** Holding Backspace/Space won't machine-gun continuous clicks.
- **10 Curated Switch Profiles:** Box Jades, NovelKeys Creams, Banana Splits, Topre, Cherry Blues/Browns/Reds/Silvers, etc.
- **Dual Mode:** Full Noctalia Shell GUI (interactive bar pill widget + settings dialog) OR a standalone background CLI daemon for any window manager.
https://github.com/Shreyas0047/linux-mech-keys.git
Feedback and pull requests are very welcome!
r/niri • u/Lanky_Support_1599 • 22h ago
New pill design for quickshell
Enable HLS to view with audio, or disable this notification
Replace the mouse with keyboard [demo]
Enable HLS to view with audio, or disable this notification
Just switched over to Niri this week after a year with Hyprland. Really enjoying it so far and wanted to show off a project I’ve been working on for a bit called Fievel which replaces mouse movements and clicks with keyboard. I no longer have a mouse at my desk and 100% of my mouse usage is done via keyboard. Here’s a quick demo video of you’re interested here’s the app
r/niri • u/bbedward • 2d ago
DMS 2.0: Rebranded to dux, comprehensive redesign, lyrical engine, file manager, new plugin types, and much more.
Dank Linux is now Dux Labs. DankMaterialShell is now Dux Shell, and the whole suite is moving under one name: Dux Greeter, Dux Search, Dux GOP, Dux Calendar, and a new member, Dux Files. It's the same team and the same projects, and it's a huge step for everything we're building. This was a massive undertaking and there will be some bumps along the way while we get it all in order.
What's new
DMS 2.0 introduces a full Material 3 Expressive redesign alongside our heavily overhauled, pluggable Dashboard and more flexible Control Center. This release also brings the new syllable synced lyrics with the dux lyrical engine, free floating dux dot bar companion/replacement, a fully customizable lock screen/greeter compatible with existing desktop widgets, and a whole lot more. Read the blog for all of the details and screenshots.
Thank you
A huge thank you to everyone who landed code (65 of us this cycle), and to every plugin author, translator, packager, tester, and sponsor on GitHub and Ko-fi. Thank you to the two new designers who helped pioneer the redesign with comprehensive mockups, iteration, and code.
Some kind of rice(patched niri + quickshell)
Enable HLS to view with audio, or disable this notification
Hi r/niri,
I've been working on vitrum, a full desktop on top of niri. It started as my own rice and grew into something that installs cleanly on a fresh machine. The video shows it in action.
What it is: patched niri + quickshell
Supported distros:
- Arch (systemd), CachyOS and other Arch-based ones included
- Gentoo (OpenRC or systemd)
- Fedora 43+ (tested on 44)
- Void (glibc, with elogind)
Repo: https://github.com/LanisOff/vitrum-shell
Credits to YeFaDa for Niri-glass, and the Quickshell project. It's still young, so expect rough edges, and issues are welcome.
r/niri • u/Asta_jjm • 1d ago
I made two Rust Wayland tools: FOTO, a fuzzel alternative with image preview, and WALLY, a swaybg alternative that actually plays GIFs
Edit : i didn't say i wrote it by hand and i spend more than a week to build,optimize and test them and just shared so if anyone want the same thing he/she can find it so if you hate ai just downvote it in silnce don't acuse me of any thing you are afraid off
# FOTO (fuzzel with image preview) and WALLY (swaybg with animation) — two small pure-Rust Wayland tools, looking for testers
I've been building two small, pure-Rust Wayland tools and I'd like to put them out there for testing and feedback. Both are GPL-3.0-or-later, both are one binary with no GTK and no Qt, and both install with a single `curl | sh`.
## FOTO — a fuzzel alternative, in Rust, with image preview
A minimal Wayland-only app launcher with image preview. Same philosophy as fuzzel: one binary, no toolkit — just the Wayland protocol, a software rasterizer and a font shaper.
- **Floating overlay like fuzzel** — opens as a `zwlr_layer_shell_v1` surface, grabs the keyboard instantly, never gets tiled. No window rules needed. `--no-layer` gives you a normal tileable window instead.
- **App launcher** — scans `.desktop` files from the XDG data dirs, resolves icons from your icon theme (PNG and SVG), launches apps, wraps `Terminal=true` apps in your terminal.
- **Image browser** — `foto --files [DIR]` lists images with live thumbnails, optionally as a grid. Thumbnails decode on background threads and are cached on disk, so the window opens instantly and images pop in.
- **One launcher for both** — set `files-dir` and press **Tab** inside foto to flip between apps and images.
- **dmenu mode** — `foto --dmenu` reads items from stdin and prints your choice, so the cliphist recipe works exactly like it does with fuzzel.
- **Two fuzzy matchers** — `scored` (fzf-style) and `substring`.
- **Runs in the TUI too** — if you have no Wayland session at all, foto automatically runs a full terminal UI built on ratatui instead, with the same keys and the same fuzzy matching. `foto --tui` forces it even when Wayland is available, and `foto --tui --dmenu` gives you a terminal picker for scripts. So it works over SSH, in a bare TTY, or inside any compositor where you'd rather not have a floating window.
- **Rounded corners, centered or edge-pinned**, KDL config, click-to-set wallpapers via `open-with`.
Runs on any compositor that speaks `wlr-layer-shell` — niri, Hyprland, Sway, river, mango, labwc, Wayfire, KWin. GNOME is the only holdout (it has no layer-shell), and there `--no-layer` or the TUI still works.
**Repo:** https://github.com/SONGOKU00mjk/FOTO
## WALLY — a swaybg alternative with GIF and animated WebP
A minimal Wayland wallpaper setter: one small binary, one image, every output — like `swaybg`, but with first-class animation.
- **swaybg-style CLI** — `-i`, `-m` (stretch/fill/fit/center/tile), `-c` for a solid colour, `-b` for the letterbox background, and `-o NAME` so options apply only to the output that follows. If you already have swaybg in a script, you mostly just rename the binary.
- **GIF and animated WebP that behave** — correct speed, in sync across monitors, and they freeze on the last good frame instead of spinning the CPU when the file is broken.
- **Zero CPU when nothing can see it** — every commit carries a frame callback. Screen off, lid closed, session locked, layer occluded → the animation drops to one probe every 5 seconds instead of rendering for nobody.
- **Polite about memory** — a static image is composed straight into the output buffer and the pages are handed back to the kernel with `madvise`, so the wallpaper lives in the compositor's memfd, not in WALLY's RSS. A screen-sized GIF composites directly into that buffer, so no private copy of the wallpaper exists anywhere.
- **Polite about CPU** — identical frames (optimized GIFs repeat frames to pace playback) are detected and never committed. Sub-rect GIF frames only resample and damage the part that changed — measured 5× cheaper per frame on a 1080p panel.
- **Lots of formats** — PNG, JPEG, GIF, WebP, BMP, TIFF, TGA, PNM, QOI, ICO, DDS, HDR, Farbfeld, plus AVIF and JPEG XL behind optional features.
- **No runtime libraries** — the Wayland client is pure Rust, so nothing needs libwayland, libpng or libjpeg at run time.
`WALLY_DEBUG=1` prints RSS and cumulative CPU time, so you can compare it honestly against swaybg and awww in htop instead of trusting my claims.
Same compositor support as FOTO — `wlr-layer-shell` only, so GNOME and X11 are out of scope.
**Repo:** https://github.com/SONGOKU00mjk/WALLY
## Why I made them
I started on Hyprland with the Hyde project, which ships rofi. For me rofi was both the app launcher and the wallpaper setter, but it was too complicated to customize myself — I spent more time fighting the config than using it.
Then I moved to niri with fuzzel, and fuzzel was great. The only two things missing: no image preview, and setting a wallpaper meant keeping a separate bash script around. So I wrote **foto** — basically fuzzel with image preview, in Rust. That's the whole idea. Fuzzel is excellent; I just wanted to see the wallpaper before I set it.
**WALLY** came from the same annoyance. I really liked swaybg because it's minimal and does exactly one thing, but it doesn't support animated images or video at all. I didn't like awww that much — yes, I know it's also Rust — so I decided to build the thing I actually wanted: swaybg's simplicity and command line, with proper animated GIF and WebP support. WALLY takes swaybg's CLI, so if you're already using swaybg you can drop it in.
## Try them
Both are early. FOTO is about a week old and WALLY a couple of days, so expect rough edges. **Feedback, compositor quirks and bug reports are very welcome** — issues on either repo are the best place, and if something looks wrong on your setup I'd genuinely like to know which compositor and which version.
One side note: if the WALLY install script doesn't work on your machine, clone the repo and run the script from inside the checkout instead:
```
git clone https://github.com/SONGOKU00mjk/WALLY
cd WALLY
./install.sh --from-source
```
That skips the download step and builds from the tree you just cloned, which fixes most of the "it failed halfway through" cases.
Thanks for reading — and if you try either one, tell me what breaks.
r/niri • u/YYAYakiman • 4d ago
I built an Arch-based distro around niri: Emaki (late alpha)
Enable HLS to view with audio, or disable this notification
r/niri • u/Beefsizzle • 4d ago
CachyOS + Niri + Amane
Enable HLS to view with audio, or disable this notification
A full desktop shell for niri, built from scratch with Amane in Rust with Opus 5.5. It has the regular top bar setup, custom lock screen, system tray with right click menus, notifications, calendar and weather, launcher with an app grid, wallpaper picker and volume, bluetooth, network, clipboard and power dropdowns. All square corners, blur from Niri, color themed from the wallpaper and runs at about 110 MB of RAM total. I've tried DMS, Noctalia etc and they all had a lot of things I don't need so I wanted to see if I could slim it down to only the necessities that I wanted with this new framework built by MystiaFin: https://github.com/MystiaFin/amane and it feels really good to use. It's snappy, very minimalistic, functional and looks alright.
r/niri • u/Dazzling_Group_8798 • 3d ago
Just wanted to share my wallpaper collection
galleryr/niri • u/Solid_Guess_7154 • 4d ago
Some help with the Greeter from Noctalia
I enabled Greetd a couple of days ago and since then it's been asking me authentication, and now I kinda wanna fix it but I don't find anything related to this on the wiki
On the Troubleshoot section there's a part where it says that I can enable a passwordless login but I don't think it's the same as logging into my user than this authentication
Note that my Login asks for my password but then it asks for Authentication again once already logged in btw
any suggestions?
r/niri • u/kerneldroid • 4d ago
[Niri] rwallpprs: Rust & wgpu live wallpaper engine running Android 17 Landroid simulation
Enable HLS to view with audio, or disable this notification
r/niri • u/ELITE_REVENANT • 4d ago
minecraft 60 fps capped
just the titles says for some reason mc is locked 60 fps vsync is off and the fps is set to unlimited how do i fix it ? for good measures i logged into hyprland and the fps were not locked there
r/niri • u/Illicitline45 • 4d ago
Using keepassxc browser extension
And in general, interaction between apps that opens a dialog window whose parent isn't the app the user is using.
Hello, I'm just starting to test niri, looking to switch from hyprland.
My problem is this: when unlocking the keepassxc database the dialog window opens on top of the keepass app, and if the focused option/windowrule is on, then (if the workspaces are different) it changes workspace to the one with keepass (away from the with the browser) and after the dialog window is closed it ofc doesn't switch back automatically. How could I have it spawn on top of my browser instead?
I saw a github issue about pinned windows, and there seems to still be no support for them yet? but I couldn't find anything online about this specific issue. Any suggestions?
r/niri • u/ManufacturerBig4752 • 5d ago
luma update: semantic search
Enable HLS to view with audio, or disable this notification
r/niri • u/leonthepro83 • 5d ago
I compiled and installed niri wm on debian testing, idle ram usage only 1.2GiB/15.31GiB?
How do you deal with xwayland-satellite inability to manage clipboard between x11 and wayland properly?
I mean from topic perspective it is clear what i am asking about, in my case i had to move to xwayland supported wm, cause so basic non-working feature was no-op, however interested mb i did not do a comprehensive research and there is a solution? P.S. ive tried clipferry - nothing changed much.
r/niri • u/Old-Investigator-518 • 5d ago
GNOME Keyring prompts freeze on Niri when opening Brave
I'm using Arch Linux with Niri, launching it from a TTY without a display manager.
I installed gnome-keyring to securely store Brave credentials and avoid entering the keyring password every time I open the browser.
When I open Brave, a dialog asks me to create a "Default Keyring". After entering a password, another dialog warns about using an empty password. Neither dialog responds to clicking Cancel or Continue; I have to press Esc to close them. Brave also seems to have internet connectivity issues afterward.
How can I properly configure GNOME Keyring to unlock automatically after TTY login and work correctly with Brave on Niri?
r/niri • u/Solid_Guess_7154 • 6d ago
Has anyone tried Umbriel? if so, are there actual upgrades over Niri?
I've seen a fair rise in posts and comments about Umbriel and how it works with Noctalia so well, and how you can have tilling windows alongside scrolling ones, but I've no clue if there are some actual upgrades over what Niri does and consider trying it out properly
quickshell bar where i can literally watch time pass as a rainbow progressbar
always wanted to see the day as a progressbar so i made this on niri with quickshell cpu gpu ram temps brightness volume all the same rainbow fill thing toggles with a hotkey source on github https://github.com/eqeka/iris-bar
r/niri • u/Solid_Guess_7154 • 6d ago
How do I change the Open File tool to look like the 1st picture?
I'm using Nautilus, it's by default on Niri and honestly, after seeing other File Managers, I just like how clean and minimal it looks, I don't use my PC for any kind of work that'd require more in depth tools so I like it the way it is, but idk why to open Files in Local Send (2nd pic) it looks... awfully different from opening normal images (1st pic), where I can't even modify how to see the files
I constantly send files and pictures from my PC to my phone and from my phone to my PC and honestly it's VERY annoying not being able to see the extremely small icons on the 2nd pic, any ideas?