Niri: Difference between revisions
mNo edit summary |
m added missing semicolon |
||
| (7 intermediate revisions by 6 users not shown) | |||
| Line 1: | Line 1: | ||
{{infobox application | {{infobox application | ||
| name = Niri | |||
| type = Wayland compositor | |||
| initialRelease = 2023-11-26 | |||
| status = Active | |||
| license = GNU General Public License v3.0 only | |||
| os = Linux, FreeBSD | |||
| programmingLanguage = Rust, GLSL | |||
| github = YaLTeR/niri | |||
| documentation = [https://github.com/YaLTeR/niri/wiki Official wiki], [https://github.com/sodiboo/niri-flake/blob/main/docs.md niri-flake] | |||
| image = Niri-icon.svg | |||
| bugTracker = https://github.com/YaLTeR/niri/issues | |||
| latestRelease = 25.11; 29 Nov 2025 | |||
}} | }} | ||
| Line 23: | Line 26: | ||
{{Note|Niri can be enabled <strong>without installing a custom flake</strong> such as [https://github.com/sodiboo/niri-flake niri-flake]. {{ic|niri-flake}} is only necessary if you want to use a very recent version of Niri or if you want to write configurations in the Nix language, although as of 2025 this repository is listed near the top in search engines.}} | {{Note|Niri can be enabled <strong>without installing a custom flake</strong> such as [https://github.com/sodiboo/niri-flake niri-flake]. {{ic|niri-flake}} is only necessary if you want to use a very recent version of Niri or if you want to write configurations in the Nix language, although as of 2025 this repository is listed near the top in search engines.}} | ||
{{Warning|Without [[#Configuration]] or [[#Additional Setup]], or in other words after fresh installation, you may unable to launch apps because of missing | {{Warning|Without [[#Configuration]] or [[#Additional Setup]], or in other words after fresh installation, you may be unable to launch apps because of missing Alacritty and fuzzel. Press <kbd>Super</kbd>+<kbd>Shift</kbd>+<kbd>E</kbd> to exit Niri and proceed to one of them.}} | ||
== Configuration == | == Configuration == | ||
| Line 41: | Line 44: | ||
As described in [https://github.com/YaLTeR/niri/wiki/Example-systemd-Setup Example systemd Setup (Niri wiki)], you might want to set up some additional services including [[Swayidle]], [[Swaylock]], [[Waybar]], [[Polkit]] and [[Secret Service]] as follows to complement the functionality of a regular window manager. Some of the these settings are also required to enable all the features of [https://github.com/YaLTeR/niri/blob/main/resources/default-config.kdl the default configuration file]. | As described in [https://github.com/YaLTeR/niri/wiki/Example-systemd-Setup Example systemd Setup (Niri wiki)], you might want to set up some additional services including [[Swayidle]], [[Swaylock]], [[Waybar]], [[Polkit]] and [[Secret Service]] as follows to complement the functionality of a regular window manager. Some of the these settings are also required to enable all the features of [https://github.com/YaLTeR/niri/blob/main/resources/default-config.kdl the default configuration file]. | ||
{{file|~/.config/home-manager/home.nix|nix|3= | {{file|3= | ||
security.polkit.enable = true; # polkit | |||
services.gnome.gnome-keyring.enable = true; # secret service | |||
security.pam.services.swaylock = {}; | |||
programs.waybar.enable = true; # top bar | |||
environment.systemPackages = with pkgs; [ alacritty fuzzel swaylock mako swayidle ]; | |||
|name=/etc/nixos/configuration.nix|lang=nix}}Or using [[Home Manager]]:{{file|~/.config/home-manager/home.nix|nix|3= | |||
programs.alacritty.enable = true; # Super+T in the default setting (terminal) | programs.alacritty.enable = true; # Super+T in the default setting (terminal) | ||
programs.fuzzel.enable = true; # Super+D in the default setting (app launcher) | programs.fuzzel.enable = true; # Super+D in the default setting (app launcher) | ||
| Line 53: | Line 63: | ||
]; | ]; | ||
|name=~/.config/home-manager/home.nix|lang=nix}} | |name=~/.config/home-manager/home.nix|lang=nix}} | ||
== Troubleshooting == | == Troubleshooting == | ||
| Line 81: | Line 85: | ||
]; | ]; | ||
});</nowiki>}} | });</nowiki>}} | ||
=== XWayland apps not working === | |||
There is a optional dependency for Niri which is highly recommended to install (you can read [https://github.com/YaLTeR/niri/wiki/Xwayland this] article to learn more about this) | |||
{{File|3=environment.systemPackages = with pkgs; [ | |||
xwayland-satellite # xwayland support | |||
];|name=❄︎ /etc/nixos/configuration.nix|lang=Nix}} | |||
Or using [[Home Manager]] | |||
{{File|3=home.packages = with pkgs; [ | |||
xwayland-satellite # xwayland support | |||
];|name=❄︎ ~/.config/home-manager/home.nix|lang=Nix}} | |||
After you installed {{ic|xwayland-satellite}} Niri will integrate it out of the box and all of your XWayland apps will function properly. | |||
== See Also == | == See Also == | ||
* [[Wayland]] | |||
* [[Sway]] | * [[Sway]] | ||
* [[Wallpapers for Wayland]] | * [[Wallpapers for Wayland]] | ||
* https://github.com/sodiboo/niri-flake | * [https://github.com/sodiboo/niri-flake/ niri-flake] | ||
[[Category:Window managers]] | [[Category:Window managers]] | ||
[[Category:Applications]] | [[Category:Applications]] | ||