sys-config/modules/nixos/programs/niri.nix
2026-01-10 17:55:27 +01:00

63 lines
1.3 KiB
Nix

{
config,
lib,
pkgs,
...
}:
{
options.settings.programs.niri = {
enable = lib.mkEnableOption "enables the niri window-manager";
};
config = lib.mkIf config.settings.programs.niri.enable {
programs.niri.enable = true;
programs.niri.package = pkgs.niri-unstable;
gtk.iconCache.enable = true;
xdg.portal = {
enable = true;
xdgOpenUsePortal = true;
wlr.enable = true;
config = {
common = {
default = [
"gtk"
"wlr"
];
};
niri = {
default = [
"gtk"
"wlr"
];
};
};
};
xdg.portal.extraPortals = [
pkgs.xdg-desktop-portal-wlr
pkgs.xdg-desktop-portal-gtk
];
systemd.user.services.xdg-desktop-portal = {
after = [ "xdg-desktop-autostart.target" ];
};
systemd.user.services.xdg-desktop-portal-gtk = {
after = [ "xdg-desktop-autostart.target" ];
};
systemd.user.services.xdg-desktop-portal-gnome = {
after = [ "xdg-desktop-autostart.target" ];
};
systemd.user.services.niri-flake-polkit = {
after = [ "xdg-desktop-autostart.target" ];
};
environment.systemPackages = with pkgs; [
swayosd
wl-clipboard
wayland-utils
libsecret
xwayland-satellite-unstable
];
};
}