Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

snowarch/iNiR

A Niri shell illogical-impulse based - with some modifications..

snowarch/iNiR.json
{
"createdAt": "2025-11-23T03:28:04Z",
"defaultBranch": "main",
"description": "A Niri shell illogical-impulse based - with some modifications..",
"fullName": "snowarch/iNiR",
"homepage": "https://github.com/snowarch/iNiR/wiki",
"language": "QML",
"name": "iNiR",
"pushedAt": "2026-08-02T18:48:16Z",
"stargazersCount": 1353,
"topics": [
"dotfiles",
"linux",
"niri",
"quickshell",
"ricing"
],
"updatedAt": "2026-08-02T19:40:48Z",
"url": "https://github.com/snowarch/iNiR"
}

iNiR

iNiR

A complete desktop shell for Niri, built on Quickshell

Version Stars Discord License

InstallKeybindsIPC ReferenceDiscordContributing

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+W switches between them

Material ii: floating bar, sidebars, Material Design aesthetic
Waffle: bottom taskbar, action center, Windows 11 vibes

[!WARNING] Not for low-spec machines. You can strip it down a lot though. Turn off effects, drop panels, flatten the design. Settings or config.json, whichever you prefer.

Two panel families, switchable on the fly with Super+Shift+W:

  • Material ii: floating bar, sidebars, dock, and 7 visual styles (Material, Cards, Aurora, iNiR, Angel, ZZZ, Cookie Shapes)
  • 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 theming targets covering terminals, editors, browsers, Spicetify, Steam, Cava and more
  • Theme presets: Gruvbox, Catppuccin, Rosé Pine, and custom

Built for Niri. Hyprland code survives from the fork but is not tested.

Kira, the mascot, lives on your desktop if you want her there. Off by default, art pack is a separate download.

Full feature list
  • 7 visual styles: Material (solid), Cards, Aurora (glass blur), iNiR (TUI-inspired), Angel (neo-brutalism), ZZZ (poster plates), Cookie Shapes (animated shape morphing)
  • Dynamic wallpaper colors via Material You, propagated system-wide
  • 10 terminal and TUI tools auto-themed: foot, kitty, alacritty, ghostty, wezterm, starship, fuzzel, btop, lazygit, yazi
  • App theming: GTK3/4, Qt (via plasma-integration and darkly), Firefox (MaterialFox), Discord/Vesktop (System24), Zed, Spicetify, Steam, SDDM
  • 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
  • Desktop widgets: clock (multiple styles), weather, media controls on the wallpaper layer
  • 6 bar styles: classic, islands, scenic, frame, Material 3 capsules, and pill
  • Pill bar: a morphing centre island that opens on hover into workspaces, launcher, mixer, media, calendar and a screen recorder
  • Modular layout with a drag editor in Settings, so any module can go anywhere
  • Vertical bar for the people who want the screen edge back

Left sidebar (app drawer):

  • AI Chat: live model catalogs across Ollama, LM Studio, OpenRouter, Gemini, Groq, Mistral, Cerebras, Anthropic, OpenAI and OpenCode
  • YT Music: cookie-less InnerTube player with search, queue, radio and synced lyrics
  • Wallhaven browser: search and apply wallpapers directly
  • Anime tracker: AniList integration with schedule view
  • 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 with per-app control
  • Bluetooth and 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
  • Dashboard hub: configurable three-column overlay with agenda, notifications, todo, notes, media and weather
  • Workspace edge strip: hover rail with live workspace previews and drag-to-reorder
  • Window switcher: an animated Alt-Tab across all workspaces, opt-in since Niri ships its own now
  • 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 input: local whisper.cpp when installed, or a connected Groq, Gemini or OpenAI backend
  • GUI settings: configure everything without touching files
  • GameMode: auto-disables effects for fullscreen apps
  • Auto-updates: inir update with rollback, migrations, and user change preservation
  • Lock screen and session screen (logout/reboot/shutdown/suspend)
  • Polkit agent, on-screen keyboard, autostart manager backed by niri’s own startup file
  • Kira: pixel-art cat girl who wanders the screen edges, reacts to what you do, and has a chaos mode. Opt-in, separate ~32 MiB art pack under ./setup › Extras
  • 15 languages with auto-detection
  • Night light: scheduled or manual
  • Weather: Open-Meteo, supports GPS, manual coordinates, or city name
  • Battery management: configurable thresholds, auto-suspend on critical
  • Custom event sounds with a master volume and per-event audio files
  • Shell update checker: notifies when new versions are available

Terminal window
git clone https://github.com/snowarch/inir.git
cd inir
./setup install # interactive, asks before each step
./setup install -y # automatic, no questions asked

The installer handles dependencies, system config and theming. After install, run inir run to start the shell, or log out and back in.

Terminal window
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 + restart

Other ways in, if ./setup install isn’t what you want:

Terminal window
./setup # TUI menu, pick what you want
sudo make install # system-wide instead of your home
./setup rollback # undo the last update

Distros: Arch gets the automated installer. Everything else installs by hand, the package list tells you what you need.


KeyAction
Super + SpaceOverview: search apps, navigate workspaces
Super + VClipboard history
Super + Shift + SScreenshot a region
Super + Shift + XOCR a region
Super + ,Settings
Super + Shift + WSwitch panel family
Super + /Cheatsheet, in case you forget the rest

Full list: Keybinds


15 wallpapers ship bundled. For more, check iNiR-Walls, a curated collection that works well with the Material You pipeline.


Everything user-facing lives in the Wiki.

PageWhat’s in it
InstallGetting it running
SetupUpdates, migrations, rollback
KeybindsEvery shortcut
IPCTargets you can bind or script
PackagesEvery dependency and why it’s there
LimitationsWhat’s known broken, and workarounds
[Architecture]!(ARCHITECTURE.md)How the code is put together

Terminal window
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 update

Check Limitations before opening an issue. If you’d rather just ask someone, Discord is faster.


See [CONTRIBUTING.md]!(CONTRIBUTING.md) for development setup, code patterns, and pull request guidelines.


  • end-4: illogical-impulse, the Hyprland dots iNiR forked from
  • Gakuseei: Ricelin, where the pill bar and the washi and flame look come from
  • Quickshell: the framework this runs on
  • Niri: the compositor it’s built for

GPL-3.0, same as end-4’s dots. Copyright (C) 2025-2026 snowarch.


iNiR mascot leaning on the iNiR logotype


ContributorsChangelogGPL-3.0 License