Skip to content

yukazakiri/iNiR

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,183 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iNiR

🌐 Languages: English | Español | Русский

iNiR

A complete desktop shell built on Quickshell for the Niri compositor
Originally forked from end-4's illogical-impulse — evolved into its own thing

InstallKeybindsIPC ReferenceDiscord


Screenshots

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

Features

Theming & Appearance

Pick a wallpaper and everything adapts — the shell, GTK/Qt apps, terminals, Firefox, Discord, even the SDDM login screen. All automatic.

  • 5 visual styles — Material (solid), Cards, Aurora (glass blur), iNiR (TUI-inspired), Angel (neo-brutalism)
  • Dynamic wallpaper colors via matugen — propagate to the entire system
  • 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 make your own
  • Video wallpapers — mp4/webm/gif with optional blur, or frozen first-frame for performance
  • SDDM login theme — Material You colors synced with your wallpaper
  • Desktop widgets — clock (multiple styles), weather, media controls on the wallpaper layer

Two Panel Families

Switch between them on the fly with Super+Shift+W:

  • Material ii — floating bar (top/bottom, 4 corner styles), sidebars, dock (all 4 positions), control panel, vertical bar variant
  • Waffle — Windows 11-inspired bottom taskbar, start menu, action center, notification center, widget panel, task view

Sidebars & Widgets (Material ii)

The left sidebar doubles as an app drawer:

  • AI Chat — Gemini, Mistral, OpenRouter, or local models via Ollama
  • YT Music — full player with search, queue, and playback controls
  • Wallhaven browser — search and apply wallpapers directly
  • Anime tracker — AniList integration with schedule view
  • Reddit feed — browse subreddits inline
  • Translator — powered by Gemini or translate-shell
  • Draggable widgets — crypto prices, media player, quick notes, status rings, week calendar

The right sidebar covers everyday essentials:

  • Calendar with event integration
  • Notifications center
  • Quick toggles — WiFi, Bluetooth, night light, DND, power profiles, WARP VPN, EasyEffects (Android or classic layout)
  • Volume mixer — per-app volume control
  • Bluetooth & WiFi device managers
  • Pomodoro timer, todo list, calculator, notepad
  • System monitor — CPU, RAM, temp

Tools

  • Workspace overview — adapted for Niri's scrolling model, with app search and calculator
  • Window switcher — Alt+Tab across all workspaces
  • Clipboard manager — searchable history with image preview
  • Region tools — screenshots, screen recording, OCR text extraction, 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-like identification via SongRec
  • Voice search — record and search via Gemini

System

  • GUI settings — configure everything without touching config files
  • GameMode — auto-disables effects when fullscreen apps are detected
  • Auto-updatesinir update with rollback, migrations, and user-change preservation
  • Lock screen and session screen (logout/reboot/shutdown/suspend)
  • Polkit agent, on-screen keyboard, autostart manager
  • 15+ languages — auto-detected, with AI-assisted translation generation
  • Night light — scheduled or manual blue light filter
  • Weather — Open-Meteo, supports GPS, manual coords, or city name
  • Battery management — configurable thresholds, auto-suspend at critical
  • Shell update checker — notifies when new versions are available

Quick Start

Most people only need this:

git clone https://github.com/snowarch/inir.git
cd inir
./setup install
inir run

Install once with ./setup install. After that, use inir for daily launching and runtime actions. Maintenance commands like inir update, inir doctor, and inir status are convenience wrappers that delegate back to setup.

Daily commands:

inir run
inir settings
inir doctor
inir logs
inir repair
inir status

Packaging-style local install:

sudo make install
inir run

This installs the shell payload like a packaged application instead of relying only on the repo-sync model.

Other distros: The installer fully supports Arch only. Manual installation guide in docs/INSTALL.md.

Updating:

inir update

If you want the advanced TUI menu, run ./setup.

inir update and ./setup update use the same update flow. Use inir update as the normal launcher-facing command, and ./setup when you want the underlying maintenance entrypoint or the interactive menu.

Your configs stay untouched. New features come as optional migrations. Rollback included if something breaks (./setup rollback).

Local validation of the distribution/runtime layer:

make test-local
inir test-local
inir test-local --with-runtime

Keybinds

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 and customization guide: docs/KEYBINDS.md


Documentation

INSTALL.md Installation guide
SETUP.md Setup commands — updates, migrations, rollback, uninstall
KEYBINDS.md All keyboard shortcuts
IPC.md IPC targets for scripting and custom keybinds
PACKAGES.md Every package and why it's there
LIMITATIONS.md Known limitations and workarounds
OPTIMIZATION.md QML performance guide for contributors

Troubleshooting

inir logs                       # Check recent runtime logs
inir restart                    # Restart the active runtime
inir status                     # See runtime path, update mode, and health
inir repair                     # Doctor + restart + filtered log check
inir test-local --with-runtime  # Validate launcher + runtime + logs
./setup doctor                  # Auto-diagnose and fix common problems
./setup rollback                # Undo the last update

Check LIMITATIONS.md before opening an issue — it might already be documented.


Credits

  • end-4 — original illogical-impulse for Hyprland, where this all started
  • Quickshell — the framework powering this shell
  • Niri — the scrolling tiling Wayland compositor

This is a personal project. It works on my machine. YMMV.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • QML 78.7%
  • Shell 9.6%
  • Python 5.1%
  • JavaScript 3.3%
  • MDX 1.4%
  • TypeScript 0.9%
  • Other 1.0%