{ options, config, lib, pkgs, inputs, ... }: let cfg = config.modules.desktop.addons.hyprlock; inherit (inputs.nix-colors.colorschemes.${builtins.toString config.modules.desktop.colorscheme}) palette ; in { options.modules.desktop.addons.hyprlock = with lib.frajul; with lib.types; { enable = mkBoolOpt false "Enable or disable the hyprlock screen locker."; }; config = lib.mkIf cfg.enable { programs.hyprlock.enable = true; programs.hyprlock.settings = { general = { disable_loading_bar = true; hide_cursor = true; ignore_empty_input = true; }; background = [ { color = "#${palette.base00}"; # path = "screenshot"; # blur_passes = 3; # blur_size = 8; } ]; input-field = [ { size = "200, 50"; position = "0, -80"; monitor = ""; dots_center = true; fade_on_empty = false; font_color = "#${palette.base0B}"; inner_color = "#${palette.base01}"; outer_color = "#${palette.base05}"; outline_thickness = 5; placeholder_text = "Password..."; } ]; }; }; }