41 lines
1,010 B
Nix
41 lines
1,010 B
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
inherit (lib.modules) mkForce mkIf;
|
|
inherit (lib.options) mkEnableOption;
|
|
|
|
cfg = config.modules.desktops.niri;
|
|
in {
|
|
options.modules.desktops.niri.enable = mkEnableOption "Niri, a scolling tiling wayland compositor";
|
|
config = mkIf cfg.enable {
|
|
programs.niri = {
|
|
enable = true;
|
|
package = pkgs.niri;
|
|
};
|
|
# The niri module auto enables the gnome keyring,
|
|
# which is something I direly want to avoid.
|
|
services.gnome.gnome-keyring.enable = mkForce false;
|
|
|
|
# set niri's config location to /etc/niri/config.kdl.
|
|
environment.etc."niri/config.kdl".source = ./config.kdl;
|
|
|
|
environment.systemPackages = builtins.attrValues {
|
|
inherit (pkgs) xwayland-satellite avizo;
|
|
};
|
|
|
|
xdg.portal = {
|
|
enable = true;
|
|
xdgOpenUsePortal = true;
|
|
extraPortals = [
|
|
pkgs.xdg-desktop-portal-gtk
|
|
];
|
|
config = {
|
|
common.default = ["*"];
|
|
hyprland.default = ["gtk"];
|
|
};
|
|
};
|
|
};
|
|
}
|