需要先有 Niri 或 Umbriel 合成器,Umbriel 需按文档另行接入;安装和更新都从网络拉取预编译部件,离线环境不可用;壁纸包与吉祥物美术在 setup 中为可选项,不装则缺少对应资源。
iNiR
snowarchGPL-3.0活跃维护基于 Quickshell 的 Niri 桌面环境配置,提供带额外组件和美化效果的完整 shell 方案,适合想快速上手 Niri 平铺窗口管理器的 Linux 用户。
// A Niri shell // with bloat and stuff!
git clone https://github.com/snowarch/inir.git
cd inir
./setup installREADME 未说明硬件要求;仅说明运行在 Niri 与 Umbriel 合成器上,支持 Arch、Fedora、Debian、Ubuntu、Void 和 NixOS。
给 Niri 和 Umbriel 合成器用的完整桌面 shell,带插件化外观与一键更新
基于 Quickshell 的 Niri 桌面环境配置,提供带额外组件和美化效果的完整 shell 方案,适合想快速上手 Niri 平铺窗口管理器的 Linux 用户。
核心能力
- 提供 Material、Waffle、iRiS 三套桌面家族,用 Super+Shift+W 切换
- 把家族、主题、组件和小组件做成插件,由 inir-hub 统一分发
- 用 inir update 更新并保留配置,启动失败时自动回滚
- 安装时拉取预编译部件并用 sha256 校验,本机不编译
- 自带 Settings 面板、欢迎向导和 inir CLI 诊断工具
容易踩的坑
- v3.0.1最新正式版2026-11-08 · 2026-11-08 08:08 UTC
A small release right after 3.0:
inir updatefinishes on Void again, the shell keeps its windows when it reloads, and a notice on the iRiS Island leaves the frame's corner bubbles where they are.Fixed
- Updating on Void:
inir updatechecks the dependencies of the distro it runs on, so a package xbps refuses (such asniri-session) no longer stops the update halfway. - Reloads keep your windows: installing or updating a Hub item reloads the shell without tearing down and rebuilding every window (qs-rs 0.1.4); a part that really fails to load, even at the first start, still gets fresh windows.
- iRiS Island notices: a notice, an event or a level on the Island no longer pulls the frame's corner bubbles down with it for its seconds (iRiS 2.33.62, from the Hub).
Update: https://inir.space/docs/setup/#update
Fresh install: https://inir.space/docs/install/
Full changelog: https://github.com/snowarch/iNiR/blob/v3.0.1/CHANGELOG.md#301---2026-11-08 - Updating on Void:
- v3.0.0iNiR 3.02026-11-08 · 2026-11-08 00:54 UTC
查看更新说明
iNiR 3.0 rebuilds the shell from the ground up: a small base with every family as a plugin, its own prebuilt runtime, a home at inir.space, and a new Settings for iRiS. It is the work of 1,131 commits to the base and more than 1,300 across the Hub, the runtime and the
inircommand. Oneinir updatebrings all of it, compiles nothing on your machine, and keeps your config.Added
The new base
- Families are plugins: Material, Waffle and iRiS install from the iNiR Hub and update on their own; the welcome wizard offers them, and only the family you wear compiles at start.
- iNiR Hub: families, iRiS Designs, components, desktop widgets, colour themes and web apps in one catalogue, browsed in each family's Settings as a store (list or grid, sort, what's new per version) and at inir.space/hub.
- Votes and reactions: like any Hub item, react with any emoji from a small search ("pregnant" finds 🫃) and see how many installed it; what others give shows live, with no account and without your name, and one switch turns it off.
- Components with a panel: a Hub component can bring a surface of its own, with its own IPC and its own options file, without touching a family or your settings.
- qs-rs: the shell runs on Quickshell rebuilt in Rust with its own Qt, prebuilt and checked by sha256; Quickshell stays as the fallback.
- inir-accel: one Rust binary takes over the shell's Python and Go helpers: wallpaper colours, the iRiS palette, app themes, thumbnails, lyrics and screenshot regions.
- The
inircommand: rewritten in Go with shell completions;inir doctorruns setup's checks and repairs,inir updateshows each stage and the release notes, plusinir deps,inir hub,inir runandinir look export|import. - inir.space: the website, every guide at inir.space/docs, the Hub catalogue and this changelog in one place.
- Umbriel: iNiR runs on Umbriel, the Noctalia team's compositor, next to Niri; the first login there brings your keybinds and keyboard layout along.
- NixOS: a lean NixOS module with its Python environment and a Niri config to start from.
iRiS
- Prism: iRiS Settings built new, and the one it opens with: every option as a numbe
- v2.33.02026-10-08 · 2026-10-08 19:26 UTC
查看更新说明
iRiS 0.3
Void Linux support, the iRiS lock on the login screen, and a washi palette for iRiS.
Added
- Void Linux: install, update and repair with XBPS; iNiR runs under runit or Turnstile where there is no systemd user manager. The steps are in the Void guide on the Wiki.
- The iRiS lock on the login screen: SDDM in three styles, Cover, Frame and Lens, under Login Screen in Settings or with
inir loginScreen style <cover|frame|lens>. - Washi palette: paper palettes and paper levels for iRiS and your apps, with an Afterglow texture, in Appearance.
- Wallpaper scaling: fill, fit, center, or one picture across every screen.
- Game performance in Floating Tools: your game's FPS in a floating overlay.
- Update notices: when a new iNiR is out, a notice says so, also right after login, and Not now brings it back after the interval set in iRiS Settings › Sources. In iRiS the update bubble shows up by itself, on the frame or the Island, and its card lists the incoming changes; in Waffle the notice opens the details.
- Material: choose which switcher Alt+Tab opens, and a design for one widget at a time.
Changed
- iRiS Settings keeps a page's live preview in view while you scroll, and Colour, Wallpaper and Login Screen are sections of their own.
- With auto-hide on, the Island stays visible on workspaces with no windows, like the Dock (Settings › Island › Visibility).
- Firefox, LibreWolf, Floorp, Waterfox and Zen follow the wallpaper from their next launch, and Helium, Thorium and Flatpak Chromium get its colours too (App colours in Settings).
- With nothing playing, the iRiS Control Center's player opens the music app you use most.
- iNiR answers every password prompt itself; other polkit agents are no longer started, and
inir doctorchecks that prompts get an answer. - fuzzel and dunst are no longer installed.
Fixed
- A config read during a save no longer resets your settings.
- After a Qt update,
inir doctor --fix-abirebuilds Quickshell instead of leaving the shell broken. - Secured Wi-Fi asks for its password in iRiS.
- Desktop widgets keep their places across scale changes.
- Brightness no longer loses the monitor when the bus is busy at login.
- Fedora installs work with dnf5.
- The iRiS battery bubble draws the battery and its charge, and figures in bubbles no longer run into their ring or corners.
- Day and month names in iRiS follow the shell's language.
- The iRiS power menu blurs the whole wallpaper instead of stretching its top strip.
- A failed update check no longer reports the system as up to date.
- Apps no longer miss the wallpaper's colours on machines without Steam or Spotify.
- VS Code settings with comments are no longer moved aside for an empty file.
- The password prompt Chromium browsers need for their colours shows under iNiR, once for all of them, and a dismissed one doesn't come back on every wallpaper change.
- KDE apps no longer get a nearly Thin font weight.
- Light schemes get the light variant of your icon theme instead of its white icons.
- Blur behind windows covers video and GIF wallpapers when Blur animated wallpapers is on.
- Annotation strokes draw while you drag, and the editor opens on the screen you captured.
- Notification actions sent without a label read Open.
Issues / PRs
- v2.32.02026-09-29 · 2026-09-29 18:18 UTC
查看更新说明
iRiS 0.2
iRiS is still under construction. Parts of it might look ass for now, and they get better every release. Point us at the worst ones on Discord.
2.32.0 turns iRiS into a desktop you shape by touching it: click the Island, the Dock, a bubble or a widget and its options grow right there, widgets stack and read the wallpaper under them, the Control Center and the lock screen are yours to arrange, Orbit lays your whole session out from the Island, and the shell and your apps switch together between dark, ink and light.
Added
- Customize where you look: click the Island, the Dock, a bubble or a piece and its options grow out of it, with Themes, Look, Pieces, undo and Done on the Island and a ring that follows the shape you are editing. Prefer one panel? Studio keeps every area in a column beside the screen (Settings › Appearance › Customize opens). Right-click the desktop › Customize iRiS, or
inir iris edit. - Dark, Ink and Light: Scheme in Appearance follows the system or stays where you put it. Ink is washi and sumi, softer than white, and each scheme has its own tone, colour strength and frost. The scheme is the system's mode, so GTK, Qt, terminals and VS Code switch with the shell (
inir colorMode set dark|light|toggle). - Colour themes for the shell and your apps: Catppuccin, Nord, Rosé Pine, Tokyo Night, iRiS Ink and more instead of the wallpaper's palette, and Match the shell lends iRiS the theme's accent and material (
inir iris palette catppuccin-mocha). - Menu bar layout: a thin strip with your workspaces, the focused window and your pieces, clear over the wallpaper (its items turn dark over a light one) or on a band, with the Island hanging from it as a notch that grows into whatever it opens (
inir iris layout menubar). - Island and Dock shapes: capsule, round, squircle or square, the open Island follows, and one switch gives both the bubbles' shape (Settings › Appearance › Shape).
- Six new themes: Twilight and Daybreak over a clear menu bar, Horizon with one black band across the top, Lume with clear glass and iNstrument widgets, and the anime themes Magical Girl and Spirit Forest.
- Widget stacks: drop one desktop widget on another while arranging, or pick Stack with, and they share one place, turning by themselves, with the wheel or from the dots on their edge. Order, interval, taking a widget out and splitting the stack are in its quick controls (
inir widgetStacks). - One design for every widget: iRiS, Material, iNstrument or Readout from Settings or any widget's Look page, with Match for the ones that kept their own look and Undo for your old mix. iNstrument now covers music, Screen Time and Controls.
- Widgets that read the wallpaper under them: over a bright spot a widget turns to dark ink and deeper accents and its glass turns to frost, following it as you drag. Accents come from the wallpaper, iRiS, Spectrum or Mono with a strength you pick once, and Lume on every widget backs every text anyway.
- A widget bar that finds things: Ctrl+F or the magnifier searches by name or by what a widget does, typos forgiven; arrows, Enter and Escape work as you expect, and the arrow keys nudge the selected widget. Its quick controls are one sheet with Widget, Look, Arrange and Stack pages.
- A Control Center you arrange: drag, resize from a corner and add from a library with all 20 quick toggles, or start from six layouts. Right-click a display or system
- Customize where you look: click the Island, the Dock, a bubble or a piece and its options grow out of it, with Themes, Look, Pieces, undo and Done on the Island and a ring that follows the shape you are editing. Prefer one panel? Studio keeps every area in a column beside the screen (Settings › Appearance › Customize opens). Right-click the desktop › Customize iRiS, or
- v2.31.02026-09-19 · 2026-09-19 20:36 UTC
查看更新说明
2.31.0 introduces iRiS, the third panel family, together with its Island, Themes, Studio, edge-aware Dock and desktop pieces. The release also folds in the wallpaper, widget, Settings, runtime and installer work completed on
prereleasesince 2.30.0.Added
- iRiS, the third panel family. An Island that lives on a screen edge and turns into whatever you opened, pieces you can carry around, bodies that grow out of what you clicked, and a Studio that edits the whole thing live. It is built for Niri and it is the flagship from here on, so expect it to get most of the love.
- iRiS Themes are whole redesigns, not palettes: 14 curated ones, plus your own as plain JSON files in
~/.config/inir/iris/themes. Save, import, export and share them from Studio or withinir iris theme. A theme never touches what you placed, only how it looks and moves. - The Island goes on any edge. Top, bottom, left or right (
inir iris edge <side>, or drag it there). On a side it stands up as a capsule with a stacked clock and its bubbles above and below, and everything it opens grows inward. - The Dock goes on any edge too (
iris.dock.position,inir iris dockEdge <side|auto>). Auto sits opposite the Island, and if you send one to the other's edge they just trade places. - Pieces that share an edge with the Dock or the Island join them instead of floating on top: the Dock gives them a section of their own after a separator, and the Island carries them as part of its body.
- The Island can also be a full width bar with start, center and end zones (
iris.bar.fullStart,fullCenter,fullEnd) for the Island itself, workspaces, the focused window, the time or any piece. Settings, Island, Bar, orinir iris zone start|center|end kinds+joined+with+plus. - Glass is the iRiS material: the wallpaper, frosted and tinted, behind every body, with text that keeps its contrast on bright wallpapers. Real compositor blur is in there too, labelled as experimental because it is.
- Studio and Settings show what you are changing, with live miniatures and small animated scenes for the Island edge, the bar zones, Light, Fusion, Glass and the Dock. Not a fan? Animated previews in Settings, Appearance, Previews turns them all off.
- Multiple monitors: every output gets its own Island, frame and Dock, while Spotlight, the Dock reveal and editing in place follow the output you are on.
- Desktop widgets get an iRiS face system instead of a second widget backend: glass, transparent, solid and tinted materials, per-widget controls and native faces for the everyday set. Controls and Screen Time join the desktop library too.
- The iRiS wallpaper gallery browses the local library, Wallhaven and live anime scenery with showcase/strip/wall layouts, pinned folders and one-at-a-time muted video previews. Live wallpaper decoding pauses when it is not useful instead of burning through frames under covered desktops.
- iRiS keeps the expensive stuff on demand: inactive Island pages, external Controls, Settings previews and floating bubble bodies are not kept alive just because the family is selected. The family stays feature-heavy without making every feature resident.
- Editorial global style adds a configurable Material-based visual system across Settings, bars, dock, dashboard, sidebars, media, notifications, wallpaper flows, desktop widgets, lock/session surfaces and shared paper components, with separate paper/accent controls instead of one hard-coded treatment.
- Organic Edge brings the Organic audio renderer to screen edges and desktop backgrounds with layout-aware spectrum behavior, configurable placement/composition and dedicated Settings controls.
- Desktop composition tools add a dashboard focus timer, decorative shape/date-badge widgets, Editor
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
What's new in 3.0
A small base with every family as a plugin, a runtime of its own, a home at inir.space, and a
new Settings for iRiS. One inir update brings it and keeps your config. Read the whole changelog.
Families
| Material | Waffle | iRiS |
|---|---|---|
| A bar on any edge, sidebars, overview, nine global styles | A Windows 11 taskbar and action center | One Island on any edge that becomes what you open, plus a dock |
Super+Shift+W switches between them. More looks, widgets, themes and web apps are in the hub.
Install
git clone https://github.com/snowarch/inir.git
cd inir
./setup install
Arch, Fedora, Debian, Ubuntu, Void and NixOS. The install guide has what each one needs. It runs on Niri and on Umbriel: Compositors shows how to add Umbriel.
Update
inir update
Your config and your edits stay. If the new version doesn't start, the update puts back the one you had.
How it's built
iNiR is a base and the parts around it, each in its own repository. Nothing compiles on your machine: setup and
inir update fetch every part prebuilt and check it by sha256.
| Repository | What it is | Latest |
|---|---|---|
| iNiR (this one) | The base: services, config, Settings, the welcome wizard, setup and update, the plugin host | |
| inir-hub | Every plugin: the three families, components, themes, widgets, web apps | inir.space/hub |
| qs-rs | The runtime: Quickshell rewritten in Rust, with its own Qt | |
| inir-accel | What the shell runs in the background, in Rust: colours, thumbnails, sensors, search | |
| inir-cli | The inir command: IPC, doctor, update, inir hub | |
| inir-site | inir.space: the site, the docs, the hub catalogue | |
| iNiR-Walls, inir-mascot | The wallpaper pack and Kira's art, both optional in setup |
Architecture has the whole map. To add something, make it a plugin: inir-hub's guide. To change the base: CONTRIBUTING.
Credits
- end-4: illogical-impulse, the Hyprland dots iNiR started from
- Quickshell by outfoxxed: the framework, and the API qs-rs keeps
- Niri by YaLTeR: the compositor
- Umbriel by the Noctalia team: the other compositor iNiR runs on
- Gakuseei: Ricelin, where the pill bar and the washi and flame look come from
- pctrade/end4-pC: a fork with ideas worth taking
- Everyone who contributes and tests on Discord
GPL-3.0 with the terms in NOTICE. Copyright (C) 2025-2026 snowarch.