/ modules / programs / hyprlock.nix
hyprlock.nix
 1  {
 2    lib,
 3    inputs,
 4    pkgs,
 5    config,
 6    ...
 7  }: let
 8    cfg = config.programs.hyprlock;
 9    inherit (lib) mkEnableOption mkIf;
10  in {
11    options.programs.hyprlock.enable = mkEnableOption "hyprlock";
12  
13    config = mkIf cfg.enable {
14      inputs.hyprlock.url = "github:hyprwm/hyprlock";
15  
16      # hmModules = [inputs.hyprlock.homeManagerModules.default];
17  
18      hm.programs.hyprlock = {
19        enable = true;
20  
21        settings = {
22          general.hide_cursor = false;
23  
24          background = [
25            {
26              path = "${config.wallpaper_dir}";
27              monitor = "";
28              # color = "rgba(25, 20, 20, 1.0)";
29              blur_size = 3;
30              blur_passes = 4;
31              noise = 0.03;
32            }
33          ];
34  
35          input-field = [
36            {
37              monitor = "eDP-1";
38  
39              # placeholder_text = "<b>Do you know me?</b>";
40              dots_center = true;
41              dots_spacing = 0.3;
42              fade_on_empty = true;
43            }
44          ];
45  
46          label = [
47            {
48              monitor = "";
49              text = "$TIME";
50  
51              position = {
52                x = 0;
53                y = 100;
54              };
55  
56              valign = "center";
57              halign = "center";
58            }
59          ];
60  
61          # input_fields = {
62          #   placeholder_text = "<i><b>Guess the pwd...</i></b>";
63          # };
64  
65          # labels = {
66          # text = "<b>$TIME</b>";
67          # };
68        };
69      };
70    };
71  }