Niri: Difference between revisions
Add infobox |
Add IME not working on Electron apps |
||
Line 59: | Line 59: | ||
security.pam.services.swaylock = {}; | security.pam.services.swaylock = {}; | ||
}} | }} | ||
== Troubleshooting == | |||
=== IME not working on Electron apps === | |||
There is a general workaround to set {{ic|NIXOS_OZONE_WL}} as described in [[Wayland#Electron_and_Chromium]]: | |||
{{file|/etc/nixos/configuration.nix|nix|3= | |||
environment.sessionVariables.NIXOS_OZONE_WL = "1"; | |||
}} | |||
However, since Niri does not support text-input-v1, sometimes enabling text-input-v3 by manually adding {{ic|<nowiki>--text-input-version=v3</nowiki>}} flag is necessary for IME to work: | |||
{{code|<nowiki>slack --text-input-version=v3</nowiki>}} | |||
== See Also == | == See Also == |
Revision as of 05:15, 14 July 2025
Niri is a scrollable-tiling Wayland compositor.
Installation
Simply enable programs.niri
:
programs.niri.enable = true;
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.Super + Shift + E
to exit Niri and proceed to one of them.Configuration
The configuration path for Niri is $XDG_CONFIG_HOME/niri/config.kdl
. Therefore Home Manager can be used for configuration:
xdg.configFile."niri/config.kdl".source = ./config.kdl;
You might want to start from the default configuration file described at [1].
See the wiki for configuration options for Niri.
Additional Setup
As described in 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 the default configuration file.
programs.alacritty.enable = true; # Super+T in the default setting (terminal)
programs.fuzzel.enable = true; # Super+D in the default setting (app launcher)
programs.swaylock.enable = true; # Super+Alt+L in the default setting (screen locker)
programs.waybar.enable = true; # launch on startup in the default setting (bar)
services.mako.enable = true; # notification daemon
services.swayidle.enable = true; # idle management daemon
services.polkit-gnome.enable = true; # polkit
home.packages = with pkgs; [
swaybg # wallpaper
];
security.polkit.enable = true; # polkit
services.gnome.gnome-keyring.enable = true; # secret service
security.pam.services.swaylock = {};
Troubleshooting
IME not working on Electron apps
There is a general workaround to set NIXOS_OZONE_WL
as described in Wayland#Electron_and_Chromium:
environment.sessionVariables.NIXOS_OZONE_WL = "1";
However, since Niri does not support text-input-v1, sometimes enabling text-input-v3 by manually adding --text-input-version=v3
flag is necessary for IME to work:
slack --text-input-version=v3