28 lines
590 B
Nix
28 lines
590 B
Nix
|
{
|
||
|
config,
|
||
|
pkgs,
|
||
|
lib,
|
||
|
...
|
||
|
}: let
|
||
|
inherit (lib.types) package;
|
||
|
inherit (lib.options) mkEnableOption mkOption;
|
||
|
|
||
|
cfg = config.modules.usrEnv.programs.screenlock;
|
||
|
pkg =
|
||
|
if cfg.gtklock.enable
|
||
|
then pkgs.gtklock
|
||
|
else pkgs.swaylock-effects;
|
||
|
in {
|
||
|
options.modules.usrEnv.programs.screenlock = {
|
||
|
gtklock.enable = mkEnableOption "gtklock screenlocker";
|
||
|
swaylock.enable = mkEnableOption "swaylock screenlocker";
|
||
|
|
||
|
package = mkOption {
|
||
|
type = package;
|
||
|
default = pkg;
|
||
|
readOnly = true;
|
||
|
description = "The screenlocker package";
|
||
|
};
|
||
|
};
|
||
|
}
|