From 50dd409d0e71d35ee3769c2f325d25fb3acd70f7 Mon Sep 17 00:00:00 2001 From: Peritia Date: Mon, 2 Mar 2026 15:44:30 +0100 Subject: [PATCH] Ver 1.1 - init Hyprlock --- .../homeManager/hyprland/keybindings.nix | 4 + nixosVista/homeManager/hyprlock/default.nix | 7 ++ nixosVista/homeManager/hyprlock/main.nix | 93 +++++++++++++++++++ 3 files changed, 104 insertions(+) create mode 100644 nixosVista/homeManager/hyprlock/default.nix create mode 100644 nixosVista/homeManager/hyprlock/main.nix diff --git a/nixosVista/homeManager/hyprland/keybindings.nix b/nixosVista/homeManager/hyprland/keybindings.nix index 27af195..8908867 100644 --- a/nixosVista/homeManager/hyprland/keybindings.nix +++ b/nixosVista/homeManager/hyprland/keybindings.nix @@ -43,6 +43,10 @@ # Launcher "bind = $mainMod, D, exec, $menu" + # lock + "bind = $mainMod, L, exec, hyprlock" + + # Workspaces "bind = $mainMod, 1, workspace, 1" "bind = $mainMod, 2, workspace, 2" diff --git a/nixosVista/homeManager/hyprlock/default.nix b/nixosVista/homeManager/hyprlock/default.nix new file mode 100644 index 0000000..b51043f --- /dev/null +++ b/nixosVista/homeManager/hyprlock/default.nix @@ -0,0 +1,7 @@ +{lib, ...}: { + imports = [ + # Main entry: + ./main.nix + + ]; +} diff --git a/nixosVista/homeManager/hyprlock/main.nix b/nixosVista/homeManager/hyprlock/main.nix new file mode 100644 index 0000000..49edcf4 --- /dev/null +++ b/nixosVista/homeManager/hyprlock/main.nix @@ -0,0 +1,93 @@ +{ config, lib, nixosVista, ... }: + +let + root = nixosVista; + cfg = root.hyprlock; + + hyprlockConfig = '' + + general = { + disable_loading_bar = true; + grace = 0; + hide_cursor = true; + }; + + # ===== Background (Glass Blur Style) ===== + background = [ + { + path = "screenshot"; # Uses current blurred screen + blur_passes = 3; + blur_size = 6; + noise = 0.01; + contrast = 1.2; + brightness = 0.85; + vibrancy = 0.15; + } + ]; + + # ===== Clock ===== + label = [ + { + text = "$TIME"; + color = "rgba(255,255,255,0.85)"; + font_size = 90; + font_family = "Noto Sans"; + position = "0, 180"; + halign = "center"; + valign = "center"; + } + + { + text = "$DATE"; + color = "rgba(255,255,255,0.55)"; + font_size = 22; + font_family = "Noto Sans"; + position = "0, 120"; + halign = "center"; + valign = "center"; + } + + { + text = "cmd[echo $USER]"; + color = "rgba(255,255,255,0.45)"; + font_size = 20; + font_family = "Noto Sans"; + position = "0, 90"; + halign = "center"; + valign = "center"; + } + ]; + + # ===== Password Field (Matches Window Style) ===== + input-field = [ + { + size = "340, 55"; + + outline_thickness = 2; + + outer_color = "rgba(255,255,255,0.25)"; + inner_color = "rgba(0,0,0,0.35)"; + font_color = "rgba(255,255,255,1.0)"; + + dots_size = 0.3; + dots_spacing = 0.25; + dots_center = true; + + fade_on_empty = false; + placeholder_text = "Enter Password..."; + + position = "0, 30"; + halign = "center"; + valign = "center"; + } + ]; + ''; +in +{ + config = lib.mkIf cfg.enable { + programs.hyprlock = { + enable = true; + extraConfig = hyprlockConfig; + }; + }; +} \ No newline at end of file