al3rez/omarchy-niri

Niri as a second session on Omarchy — genuine Omarchy Quickshell, automatic theme inheritance, Omarchy-style keybindings

0

stars

0

commits

Shell

primary language

Sep 4, 2026

updated

README

omarchy-niri

Run the niri scrollable-tiling compositor as a second session on an Omarchy machine — with the genuine Omarchy Quickshell (bar, notifications, background, idle, lock) and automatic theme inheritance. The stock Omarchy Hyprland session is left completely untouched; niri appears as its own entry at the SDDM login screen.

What you get

  • The real Omarchy shell under niri. bin/niri-omarchy-shell supervises Quickshell inside the niri session (crash-relaunch with backoff, background refresh over Omarchy IPC, singleton lock per session).
  • Theme inheritance. Omarchy's theming engine renders the templates in config/omarchy/themed/*.tpl on every omarchy theme set. The theme-set.d/font-set.d hooks then run bin/omarchy-niri-theme-sync, which validates the generated fragments (niri validate, fuzzel --check-config), installs them atomically, and live-reloads every running consumer — niri focus-ring colors, waybar, fuzzel, mako, swaylock.
  • Omarchy-style keybindings in config/niri/config.kdl: Super+Return terminal, Super+Space launcher, Super+Shift+Return browser, Super+W close, Super+1–9 workspaces, hardware volume/brightness keys, Print for niri's screenshot UI, Super+Escape lock via omarchy system lock.
  • Fallback pieces for running without Quickshell: themed waybar, fuzzel, mako, and a bin/niri-omarchy-wallpaper daemon that keeps swaybg following Omarchy's current/background symlink via inotify.

Layout

bin/                        → ~/.local/bin/
config/niri/                → ~/.config/niri/
config/waybar/              → ~/.config/waybar/
config/fuzzel/              → ~/.config/fuzzel/
config/mako/                → ~/.config/mako/
config/omarchy/themed/      → ~/.config/omarchy/themed/      (theme templates)
config/omarchy/hooks/       → ~/.config/omarchy/hooks/       (theme/font hooks)

Install

git clone https://github.com/al3rez/omarchy-niri.git
cd omarchy-niri
./install.sh

The installer:

  1. installs the required packages (niri, xwayland-satellite, waybar, fuzzel, mako, swaybg, swaylock, swayidle, xdg-desktop-portal-gnome, inotify-tools),
  2. copies everything into place (existing files are backed up with a timestamped .bak suffix, home paths are rewritten for your user),
  3. re-applies your current Omarchy theme so the fragments are generated, then runs the theme sync once.

Then log out and pick Niri in the SDDM session dropdown. Boot/autologin still goes to the stock Omarchy Hyprland session.

Notes

  • config/niri/config.kdl pins the author's panel (eDP-1, 2880x1800@90, scale 2). Adjust the output block for your display — niri msg outputs lists modes.
  • Xwayland apps work out of the box; niri auto-spawns xwayland-satellite.
  • config.kdl includes theme.kdl, which is generated by the sync — run install.sh (or omarchy-niri-theme-sync) before first launch.
  • Omarchy commands that talk to Hyprland (window toggles, tiling helpers) don't apply inside the niri session; theming, launchers, and package management work normally.

al3rez/omarchy-niri

Niri as a second session on Omarchy — genuine Omarchy Quickshell, automatic theme inheritance, Omarchy-style keybindings

0

stars

0

commits

Shell

primary language

Sep 4, 2026

updated

README

omarchy-niri

Run the niri scrollable-tiling compositor as a second session on an Omarchy machine — with the genuine Omarchy Quickshell (bar, notifications, background, idle, lock) and automatic theme inheritance. The stock Omarchy Hyprland session is left completely untouched; niri appears as its own entry at the SDDM login screen.

What you get

  • The real Omarchy shell under niri. bin/niri-omarchy-shell supervises Quickshell inside the niri session (crash-relaunch with backoff, background refresh over Omarchy IPC, singleton lock per session).
  • Theme inheritance. Omarchy's theming engine renders the templates in config/omarchy/themed/*.tpl on every omarchy theme set. The theme-set.d/font-set.d hooks then run bin/omarchy-niri-theme-sync, which validates the generated fragments (niri validate, fuzzel --check-config), installs them atomically, and live-reloads every running consumer — niri focus-ring colors, waybar, fuzzel, mako, swaylock.
  • Omarchy-style keybindings in config/niri/config.kdl: Super+Return terminal, Super+Space launcher, Super+Shift+Return browser, Super+W close, Super+1–9 workspaces, hardware volume/brightness keys, Print for niri's screenshot UI, Super+Escape lock via omarchy system lock.
  • Fallback pieces for running without Quickshell: themed waybar, fuzzel, mako, and a bin/niri-omarchy-wallpaper daemon that keeps swaybg following Omarchy's current/background symlink via inotify.

Layout

bin/                        → ~/.local/bin/
config/niri/                → ~/.config/niri/
config/waybar/              → ~/.config/waybar/
config/fuzzel/              → ~/.config/fuzzel/
config/mako/                → ~/.config/mako/
config/omarchy/themed/      → ~/.config/omarchy/themed/      (theme templates)
config/omarchy/hooks/       → ~/.config/omarchy/hooks/       (theme/font hooks)

Install

git clone https://github.com/al3rez/omarchy-niri.git
cd omarchy-niri
./install.sh

The installer:

  1. installs the required packages (niri, xwayland-satellite, waybar, fuzzel, mako, swaybg, swaylock, swayidle, xdg-desktop-portal-gnome, inotify-tools),
  2. copies everything into place (existing files are backed up with a timestamped .bak suffix, home paths are rewritten for your user),
  3. re-applies your current Omarchy theme so the fragments are generated, then runs the theme sync once.

Then log out and pick Niri in the SDDM session dropdown. Boot/autologin still goes to the stock Omarchy Hyprland session.

Notes

  • config/niri/config.kdl pins the author's panel (eDP-1, 2880x1800@90, scale 2). Adjust the output block for your display — niri msg outputs lists modes.
  • Xwayland apps work out of the box; niri auto-spawns xwayland-satellite.
  • config.kdl includes theme.kdl, which is generated by the sync — run install.sh (or omarchy-niri-theme-sync) before first launch.
  • Omarchy commands that talk to Hyprland (window toggles, tiling helpers) don't apply inside the niri session; theming, launchers, and package management work normally.

Languages

Shell

77.9%

Go Template

15.2%

CSS

6.8%