summaryrefslogtreecommitdiff
path: root/features/user/gui/desktops/niri/parts/hyprlock.nix
blob: f8a50e3a49d3dd3dea8b8f88c97962cbf892e2de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
{ config, lib, pkgs, ... }: let
  cfg = config.features.gui.desktops.niri.parts.hyprlock;
in {
  options.features.gui.desktops.niri.parts.hyprlock.enable = lib.mkEnableOption "hyprlock";
  config = lib.mkIf cfg.enable {
    home.packages = [(
      pkgs.writers.writeNuBin "nirilock" /*nu*/ ''
        niri msg action do-screen-transition --delay-ms 500
        systemctl suspend
        hyprlock
      ''
    )];
    programs.niri.settings.window-rules = [
      {
        matches = [{ title = "hyprlock"; }];
        draw-border-with-background = false;
      }
    ];
    programs.hyprlock = {
      enable = true;
      settings = {
        background = {
          monitor = "";
          path = "${config.aesthetics.wallpaper}";
          blur_passes = 0;
          blur_size = 5;
        };
        label = {
          text = "$TIME";
          font_size = 65;
          font_family = "Cantarell Bold";

          position = "0, 0";
          halign = "center";
          valign = "center";
        };
        input-field = {
          size = "250, 50";
          position = "0, -80";
          outline_thickness = 0;
          placeholder_text = "";
        };
      };
    };
  };
}