Skip to content

niri-wm/awesome-niri

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

110 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome X niri

niri is a scrollable-tiling Wayland compositor. This is a curated list of resources related to niri.

Please read the contributing guidelines before contributing to this list.

Contents

Help and Discussion

  • niri Wiki - The official wiki, containing installation instructions and usage guides.
  • niri Matrix Channel - The official Matrix channel, where you can ask questions and get help from the community.
  • niri Discord server - A community maintained Discord server.
  • niri subreddit - A community driven subreddit.

Packages

  • Community Packages - A list of community maintained packages for niri.
  • niri-flake - A Nix flake with cached binary builds and batteries-included modules1.
  • niri-nix - A Nix flake with cached binary builds and freeform config.

Tools

Toolkits

For bundles of various utilities.

  • niri-companion - A toolkit that adds extra functionality.
  • niri-scripts - A collection of scripts. Notably allows setting wallpaper per workspace.
  • niri tweaks - A collection of scripts. Notably includes a script which allows tiling N windows before scrolling new ones.
  • Nirius - Utility commands.
  • piri - A collection of plugins making use of niri IPC.

Window and Workspace Management

For utilities that assist in managing windows and workspaces.

  • miri - A niri extension adding per-workspace tiling layouts, such as Master Stack, similar to hyprland or mangowm.
  • ndrop - Emulate tdrop.
  • nfsm - Fullscreen manager.
  • niri-empty - Execute a shell command when focusing an empty workspace.
  • niri-float-sticky - A utility to make floating windows visible across all workspaces — similar to "sticky windows" in other compositors.
  • niri-ror - Focuses an app if it's open, or starts a new instance if not. With advanced window matching and multi-instance cycling.
  • niri-scratchpad - Scratchpad support.
  • niri-scratchpad-rs - Dynamic scratchpads.
  • niri-sidebar - Manage windows using a floating sidebar.
  • nirimap - A minimal workspace minimap overlay.
  • nsticky - A utility to make windows visible across all workspaces.
  • oniri - A tool that automatically maximizes the only window in a workspace.

Session Management

For saving, restoring, and managing user sessions.

  • niri-session-manager - Automatically save and restore windows.
  • nirinit - Session manager that automatically saves and restores your window layout.
  • swaytreesave - CLI to save and load your compositors tree/layout.

Wallpapers and Visuals

For managing wallpapers and other visual elements.

  • hyprlax - Smooth parallax wallpaper daemon.
  • pandora - Parallax-scrolling wallpaper daemon for Wayland.
  • wayvid - A dynamic video wallpaper engine for Wayland compositors.

System Integration and Automation

For tools that integrate niri with other system components or automate tasks.

  • Anyrun - A Wayland native krunner-like runner, made with customizability in mind. Provides niri-focus plugin.
  • IIO-Niri - Listen to iio-sensor-proxy and update niri output orientation depending on the accelerometer orientation.
  • kunai - Automatically switch keyboard layouts based on which physical keyboard is being used.
  • NASW - Automatically switch audio based on active windows.
  • niri-autoselect-portal - Always autoselect the dynamic cast target without any prompts.
  • nirilayout - Quickly switch output configuration between different layouts.
  • Stasis - A modern Wayland idle manager with smart timeouts, media awareness, and app-specific inhibition.
  • system76-scheduler-niri - A simple daemon to update the foreground process of system76-scheduler based on the focused window.
  • vim-niri-nav - Seamless navigation between niri windows and (neo)vim splits with the same key bindings.

Miscellaneous

  • arbtt-capture-wl - Time tracker utility arbtt ported to Wayland.
  • niri-cwd - A program to print the focused window's working directory.
  • niri-screen-time - A utility that collects information about how much time you spend in each application.
  • niri-settings - Basic configuration GUI for niri config.
  • nirimod - A visual, interactive configuration interface.

Custom Shaders

  • Nirimation - A host for custom shaders to be used as animations.
  • shaders - A collection of custom shaders.

Bars and Widgets

  • ashell - A ready to go Wayland status bar.
  • bar-rs - A simple status bar, written using iced-rs.
  • eww-niri-workspaces - A Rust binary that outputs workspace information from niri-ipc to be consumed by eww.
  • i3bar-river - A port of i3bar for Wayland compositors, to be used with something like i3status-rust.
  • Ignis - A widget framework for building desktop shells, written and configurable in Python.
  • Ironbar - A customisable Wayland GTK bar written in Rust.
  • Niri Taskbar - Provides a Waybar taskbar module for niri.
  • niri_window_buttons - A Waybar module for displaying and managing traditional window buttons.
  • vibepanel - A GTK4 panel for Wayland with integrated notifications, OSD, and quick settings.
  • Waybar - Highly customizable Wayland bar based on GTK.
  • waybar-niri-windows - A module for Waybar that displays a focus indicator for the current workspace.

Custom Shells

  • DankMaterialShell - Quickshell based shell featuring Material 3 design principles, with a heavy focus on functionality and customizability.
  • Delta Shell - A desktop shell based on AGS with many features.
  • desktop-shell - Custom AGS shell for Wayland compositors supporting wayland-layer-shell.
  • Exo - A Material 3 inspired desktop shell created with Ignis.
  • GPUi Shell - A GPUI based shell written in Rust.
  • IgnisNiriShell - An Ignis based shell.
  • iNiR - end-4's quickshell config modified to work with niri.
  • Noctalia - A sleek and minimal desktop shell built with Quickshell.
  • qml-niri - A QML plugin for interacting with niri via its IPC protocol.

DE Integration

Distro Integration

  • CachyOS - An Arch Linux based distribution focused around gaming, performance, and being user-friendly. It provides niri as an install option via its installer.
  • KaOS - An independent, built from-scratch Linux distribution, focused on Qt. niri and Noctalia are shipped as the default desktop environment.
  • Pika OS - PikaOS is a Debian sid based Linux distribution focused on gaming and performance optimization, which provides a niri edition ISO.

Rices and OOTB Setups

  • Setup Showcase - A showcase of niri setups, where users can share their configurations and get inspiration from others.
  • OOTB setups - A collection of out-of-the-box niri configurations that can be easily installed to get a fully functional setup quickly.

Footnotes

  1. The module has not been updated since the 25.08 release and hence is missing configuration for many new features added since then. It is suggested to use niri-nix instead which uses a freeform config.

About

An awesome list for niri related projects [Maintainer - @Vortriz]

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors