Dotfiles/desktopenvs/niri/scripts
Amir Alexander Abdelbaki 7a40e9baec feat(niri): add Niri as a full desktop environment option
Adds Niri (scrollable-tiling Wayland compositor) as a first-class DE
alongside HyprLua, Hyprland, and Sway.

Config (desktopenvs/niri/):
- niri/config.kdl: full KDL config — input (de/caps:swapescape/
  left-handed), CyberQueer focus-ring colours, spring animations,
  environment vars, autostart, window rules, 100+ keybindings
  translated from binds.lua
- Shared configs (kitty, dunst, wofi, btop, walker, vicinae, etc.)
  symlinked from hyprlua to stay in sync
- EWW bar: three variants (PC/notebook/touch) with niri-native workspace
  widget driven by a niri msg event-stream listener script
- greetd-tuigreet: launches niri instead of Hyprland

Scripts adapted for niri IPC / niri toolchain:
- ewwstart.sh / togglebar.sh: niri msg outputs instead of hyprctl
- monitorhandler.sh: swaybg replaces hyprpaper
- caffeine.sh: swayidle replaces hypridle
- activewindow: niri msg -j focused-window
- unified-rotate.sh: niri msg action set-output-transform
- wallpaper-picker: swaybg-based rewrite
- windowswitcher: niri msg -j windows + wofi
- workspace: event-stream listener for eww literal widget
- drawer.sh / menu.sh: swaylock + niri msg action quit for power actions
- niri-toggle-touchpad.sh: xinput fallback (no niri IPC for touchpad)
- toggle-layout.sh: stub (niri has one scrollable layout)

Installer & integration:
- setup/modules/Desktop-Environments/niri.sh: full installer with
  niri-appropriate packages (swaybg, swaylock, swayidle, xfce-polkit,
  gammastep, nwg-drawer, xdg-desktop-portal-gnome; no nwg-dock-hyprland
  as niri doesn't support wlr-foreign-toplevel-management)
- setup/tui-install.sh: niri added to DE selection dialog
- apply-theme.sh: niri/config.kdl added to USER_FILES for colour theming

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 16:38:47 +02:00
..
python feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
workspacefocus feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
_toggle_Template.tmplsh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
activewindow feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
amssh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
batteryperc feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
bluetooth-applet.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
caffeine.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
calender-fix.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
date.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
drawer.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
dysk-phydisks.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
ewwstart.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
foldersearch.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
frequentcommands.list feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
getispeed.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
getvol feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
helpmenu.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
ip feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
journal.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
menu.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
monitorhandler.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
niri-toggle-touchpad.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
playerget feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
playpause.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
pwr-dmenu.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
screenrec.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
screenrotationacw.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
screenrotationwcw.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
screenshot.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
time.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
timer-notify.sh.old feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
timer-pick feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
timer-run feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
timer.sh.old feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
toggle-layout.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
togglebar.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
ulwatchdog.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
unified-rotate.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
uptime.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
wallpaper-picker feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
windowswitcher feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
wofi-file-search.sh feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00
workspace feat(niri): add Niri as a full desktop environment option 2026-06-01 16:38:47 +02:00