dotfiles/modules/desktop/addons/swaylock/default.nix

30 lines
744 B
Nix

{
options,
config,
lib,
pkgs,
...
}:
with lib; let
cfg = config.aa.desktop.addons.swaylock;
user_cfg = config.home-manager.users.${config.aa.user.name};
in {
options.aa.desktop.addons.swaylock = with types; {
enable = mkEnableOption "swaylock";
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [swaylock];
aa.home.extraOptions = {
programs.swaylock.settings = {
image = "${user_cfg.xdg.dataHome}/${config.aa.desktop.sway.wallpaperPath}";
};
};
# Workaround for https://github.com/NixOS/nixpkgs/issues/158025
# This comment specifically: https://github.com/NixOS/nixpkgs/issues/158025#issuecomment-1344766809
security.pam.services.swaylock = {};
};
}