diff options
Diffstat (limited to 'modules/programs/hypr/hyprlock.nix')
-rw-r--r-- | modules/programs/hypr/hyprlock.nix | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/modules/programs/hypr/hyprlock.nix b/modules/programs/hypr/hyprlock.nix new file mode 100644 index 0000000..e80b020 --- /dev/null +++ b/modules/programs/hypr/hyprlock.nix @@ -0,0 +1,96 @@ +{ config, pkgs, lib, inputs, ... }: + +let + # inputs + system = pkgs.stdenv.hostPlatform.system; + hyprlock = inputs.hyprlock.packages.${system}; +in +{ + config = lib.mkIf config.desktop.enable { + + home-manager.users.${config.user} = { + programs.hyprlock = { + + enable = true; + package = hyprlock.hyprlock; + + settings = { + + background = { + monitor = ""; + path = config.wallpaper; + blur_passes = 3; + contrast = 0.8916; + brightness = 0.8172; + vibrancy = 0.1696; + vibrancy_darkness = 0.0; + }; + + general = { + no_fade_in = false; + grace = 0; + disable_loading_bar = true; + }; + + input-field = { + monitor = ""; + size = "250, 60"; + outline_thickness = 2; + dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true; + outer_color = "rgba(0, 0, 0, 0)"; + inner_color = "rgba(0, 0, 0, 0.5)"; + font_color = "rgb(${config.theme.colors.base05})"; + font_family = config.theme.font; + fade_on_empty = false; + placeholder_text = "<i><span foreground=\"#${config.theme.colors.base05}\">Input Password...</span></i>"; + hide_input = false; + position = "0, -120"; + halign = "center"; + valign = "center"; + }; + + label = [ + # Clock + { + monitor = ""; + text = "cmd[update:1000] echo \"$(date +\"%-H:%M:%S\")\""; + font_size = 80; + font_color = "rgb(${config.theme.colors.base05})"; + font_family = config.theme.headerFont; + position = "0, 500"; + halign = "center"; + valign = "center"; + } + + # Name + { + monitor = ""; + text = config.fullName; + font_color = "rgb(${config.theme.colors.base05})"; + font_family = config.theme.headerFont; + font_size = 25; + position = "0, 50"; + halign = "center"; + valign = "center"; + } + ]; + + # Profile image + image = { + monitor = ""; + path = config.avatar; + size = 300; + rounding = -1; + border_size = 0; + position = "0, 250"; + halign = "center"; + valign = "center"; + }; + }; + }; + }; + + }; +} |