nixos/modules/dwl.nix
2024-10-06 20:09:00 -07:00

45 lines
1.1 KiB
Nix

{ lib, config, pkgs, ... }:
let
cfg = config.snowhawk.dwl;
in
{
options.snowhawk.dwl = {
enable = lib.mkEnableOption "dwl";
package = lib.mkPackageOption pkgs "dwl" { };
};
config = lib.mkIf cfg.enable {
services.graphical-desktop.enable = lib.mkDefault true;
services.displayManager.sessionPackages = cfg.package;
services.displayManager.defaultSession = "dwl";
security = {
polkit.enable = lib.mkDefault true;
# Uncomment to make swaylock work
# pam.services.swaylock = { };
};
programs = {
dconf.enable = lib.mkDefault true;
xwayland.enable = lib.mkDefault true;
};
xdg.portal.wlr.enable = lib.mkDefault true;
xdg.portal.extraPortals = [
pkgs.xdg-desktop-portal-gtk
];
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913
xdg.portal.config.dwl.default = lib.mkDefault [ "wlr" "gtk" ];
services.xserver.desktopManager.runXdgAutostartIfNone = lib.mkDefault true;
environment.systemPackages = with pkgs; [
wl-clipboard
cfg.package
];
};
}