A complete desktop shell for Niri, built on Quickshell
Install • Keybinds • IPC Reference • Discord • Contributing
English · Español · Русский · 中文 · 日本語 · Português · Français · Deutsch · 한국어 · हिन्दी · العربية · Italiano
🤔 New here? Click if you have no idea what any of this is
iNiR is your entire desktop. The bar at the top, the dock, notifications, settings, wallpapers, all of it. Not a theme, not dotfiles you paste. A full shell that runs on Linux.
A compositor. That's the thing that handles your windows and puts pixels on screen. iNiR is made for Niri (a tiling Wayland compositor). There's some old Hyprland code from when this was a fork of end-4's dots, but Niri is what I actually use and test.
The shell runs on Quickshell, a framework for building shells in QML (Qt's UI language). You don't need to know any of that to use it though, everything is configurable through the GUI or a JSON file.
your apps
↓
iNiR (shell: bar, sidebars, dock, notifications, settings...)
↓
Quickshell (runs QML shells)
↓
Niri (compositor: windows, rendering)
↓
Wayland → GPU
It's a personal project that got out of hand. I use it daily, lots of people in the Discord do too. But stuff breaks sometimes, code is messy in places, I'm learning as I go.
If something doesn't work, inir doctor fixes most things. Discord is active if that doesn't help. Just don't expect polished software, this is one person's rice that others happen to like.
I wanted my desktop to look and work a certain way and nothing else did exactly that. Started as end-4's Hyprland dots, became a full rewrite for Niri with way more features.
- Shell: the UI layer (bar, panels, overlays)
- Compositor: manages windows, draws to screen (Niri, Hyprland, Sway...)
- Wayland: Linux display protocol (the new one, replaces X11)
- QML: Qt's declarative UI language, what iNiR is written in
- Material You: Google's color system that makes palettes from images (that's the auto-theming)
- ii / waffle: the two panel styles. ii = Material Design vibes, waffle = Windows 11 vibes.
Super+Shift+Wswitches between them
Two panel families, switchable on the fly with Super+Shift+W:
- Material ii — floating bar, sidebars, dock, 5 visual styles (material, cards, aurora, inir, angel)
- Waffle — Windows 11-inspired taskbar, start menu, action center, notification center
Automatic theming — pick a wallpaper and everything adapts:
- Shell colors via Material You, propagated to GTK3/4, Qt, terminals, Firefox, Discord, SDDM
- 10 terminal tools auto-themed (foot, kitty, alacritty, starship, fuzzel, btop, lazygit, yazi)
- Theme presets: Gruvbox, Catppuccin, Rosé Pine, and custom
Compositor — built for Niri.
Full feature list
Pick a wallpaper and the entire system follows — shell, GTK/Qt apps, terminals, Firefox, Discord, SDDM login screen. All automatic.
- 5 visual styles — Material (solid), Cards, Aurora (glass blur), iNiR (TUI-inspired), Angel (neo-brutalism)
- Dynamic wallpaper colors via Material You — propagated system-wide
- 10 terminal tools auto-themed — foot, kitty, alacritty, starship, fuzzel, pywalfox, btop, lazygit, yazi
- App theming — GTK3/4, Qt (via plasma-integration + darkly), Firefox (MaterialFox), Discord/Vesktop (System24)
- Theme presets — Gruvbox, Catppuccin, Rosé Pine, and more — or create your own
- Video wallpapers — mp4/webm/gif with optional blur, or frozen first frame for performance
- SDDM login theme — Material You colors synced to your wallpaper
- Desktop widgets — clock (multiple styles), weather, media controls on the wallpaper layer
Left sidebar (app drawer):
- AI Chat — Gemini, Mistral, OpenRouter, or local models via Ollama
- YT Music — full player with search, queue, and controls
- Wallhaven browser — search and apply wallpapers directly
- Anime tracker — AniList integration with schedule view
- Reddit feed — browse subreddits inline
- Translator — via Gemini or translate-shell
- Draggable widgets — crypto, media player, quick notes, status rings, weekly calendar
Right sidebar:
- Calendar with event integration
- Notification center
- Quick toggles — WiFi, Bluetooth, night light, DND, power profiles, WARP VPN, EasyEffects
- Volume mixer — per-app control
- Bluetooth & WiFi device management
- Pomodoro timer, todo list, calculator, notepad
- System monitor — CPU, RAM, temperature
- Workspace overview — adapted for Niri's scrolling model, with app search and calculator
- Window switcher — Alt+Tab across all workspaces
- Clipboard manager — history with search and image preview
- Region tools — screenshots, screen recording, OCR, reverse image search
- Cheatsheet — keybind viewer pulled from your Niri config
- Media controls — full MPRIS player with multiple layout presets
- On-screen display — volume, brightness, and media OSD
- Song recognition — Shazam-style identification via SongRec
- Voice search — record and search via Gemini
- GUI settings — configure everything without touching files
- GameMode — auto-disables effects for fullscreen apps
- Auto-updates —
inir updatewith rollback, migrations, and user change preservation - Lock screen and session screen (logout/reboot/shutdown/suspend)
- Polkit agent, on-screen keyboard, autostart manager
- 9 languages — auto-detection, with AI-assisted translation generation
- Night light — scheduled or manual
- Weather — Open-Meteo, supports GPS, manual coordinates, or city name
- Battery management — configurable thresholds, auto-suspend on critical
- Shell update checker — notifies when new versions are available
git clone https://github.com/snowarch/inir.git
cd inir
./setup install # interactive — asks before each step
./setup install -y # automatic — no questions askedThe installer handles dependencies, system config, theming — everything. After install, run inir run to start the shell, or log out and back in.
inir run # launch the shell
inir settings # open settings GUI
inir logs # check runtime logs
inir doctor # auto-diagnose and fix
inir update # pull + migrate + restartSupported distros: Arch (automated installer). Other distros can install manually — see PACKAGES.md.
| Method | Command |
|---|---|
| System install | sudo make install && inir run |
| TUI menu | ./setup |
| Rollback | ./setup rollback |
| Key | Action |
|---|---|
Super+Space |
Overview — search apps, navigate workspaces |
Alt+Tab |
Window switcher |
Super+V |
Clipboard history |
Super+Shift+S |
Screenshot region |
Super+Shift+X |
OCR region |
Super+, |
Settings |
Super+Shift+W |
Switch panel family |
Full list: docs/KEYBINDS.md
15 wallpapers ship bundled. For more, check iNiR-Walls — a curated collection that works well with the Material You pipeline.
| INSTALL.md | Installation guide |
| SETUP.md | Setup commands — updates, migrations, rollback |
| KEYBINDS.md | All keyboard shortcuts |
| IPC.md | IPC targets for scripting and keybinds |
| PACKAGES.md | Every dependency and why it's there |
| LIMITATIONS.md | Known limitations and workarounds |
| ARCHITECTURE.md | Technical architecture overview |
inir logs # check recent runtime logs
inir restart # restart the active runtime
inir repair # doctor + restart + filtered log check
./setup doctor # auto-diagnose and fix common problems
./setup rollback # undo the last updateCheck LIMITATIONS.md before opening an issue.
See CONTRIBUTING.md for development setup, code patterns, and pull request guidelines.
- end-4: original illogical-impulse for Hyprland
- Quickshell: the framework powering this shell
- Niri: the scrolling tiling Wayland compositor







