nixcfg/nixosModules/desktop/waylandComp.nix
2024-05-26 14:58:07 -04:00

53 lines
1.4 KiB
Nix

{
inputs,
pkgs,
lib,
config,
...
}: {
options = {
alyraffauf.desktop.waylandComp.enable =
lib.mkEnableOption "Shared defaults for wayland compositors.";
};
config = lib.mkIf config.alyraffauf.desktop.waylandComp.enable {
services = {
blueman.enable = lib.mkDefault true;
dbus.packages = [pkgs.gcr];
geoclue2.enable = lib.mkDefault true;
gnome.gnome-keyring.enable = lib.mkDefault true;
udev.packages = [pkgs.swayosd];
};
security.pam.services = {
swaylock = {
text = ''
# Account management.
account required pam_unix.so # unix (order 10900)
# Authentication management.
auth sufficient pam_unix.so likeauth try_first_pass likeauth nullok # unix (order 11500)
${
if config.services.fprintd.enable
then "auth sufficient ${pkgs.fprintd}/lib/security/pam_fprintd.so # fprintd (order 11300)"
else ""
}
auth required pam_deny.so # deny (order 12300)
# Password management.
password sufficient pam_unix.so nullok yescrypt # unix (order 10200)
# Session management.
session required pam_env.so conffile=/etc/pam/environment readenv=0 # env (order 10100)
session required pam_unix.so # unix (order 10200)
'';
};
};
programs = {
gnupg.agent.pinentryPackage = lib.mkForce pkgs.pinentry-gnome3;
};
};
}