Files
nix/modules/desktops/niri/default.nix

65 lines
1.1 KiB
Nix

{
config,
lib,
pkgs,
...
}:
let
cfg = config.desktop;
in
{
imports = [ ../logind.nix ];
options.desktop = {
niri = {
enable = lib.mkEnableOption "niri desktop";
};
ly = {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
};
};
};
config = lib.mkIf cfg.niri.enable {
desktop.logind.enable = lib.mkDefault true;
programs.niri = {
enable = true;
useNautilus = false;
};
programs.xwayland.enable = true;
environment = {
systemPackages = [ pkgs.xwayland-satellite ];
sessionVariables.NIXOS_OZONE_WL = "1";
};
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
];
config.niri.default = lib.mkForce [
"niri"
"gtk"
];
};
environment.pathsToLink = [
"/share/applications"
"/share/xdg-desktop-portal"
];
services = {
gnome.gnome-keyring.enable = false;
dbus.enable = true;
displayManager.ly = lib.mkIf cfg.ly.enable {
enable = true;
};
};
};
}