diff --git a/home/programs/hypr/lock.nix b/home/programs/hypr/lock.nix index d857801..d2ace82 100644 --- a/home/programs/hypr/lock.nix +++ b/home/programs/hypr/lock.nix @@ -1,35 +1,5 @@ _: { programs.hyprlock = { enable = true; - settings = { - general = { - disable_loading_bar = true; - hide_cursor = true; - no_fade_in = false; - }; - - background = [ - { - 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 = "rgb(202, 211, 245)"; - inner_color = "rgb(91, 96, 120)"; - outer_color = "rgb(24, 25, 38)"; - outline_thickness = 5; - shadow_passes = 2; - } - ]; - }; }; } diff --git a/images/avatar.png b/images/avatar.png new file mode 100644 index 0000000..ba99109 Binary files /dev/null and b/images/avatar.png differ diff --git a/wallpapers/lucy-edgerunners-wallpaper.jpg b/images/wallpapers/lucy-edgerunners-wallpaper.jpg similarity index 100% rename from wallpapers/lucy-edgerunners-wallpaper.jpg rename to images/wallpapers/lucy-edgerunners-wallpaper.jpg diff --git a/wallpapers/nix-wallpaper-nineish-catppuccin-frappe-alt.svg b/images/wallpapers/nix-wallpaper-nineish-catppuccin-frappe-alt.svg similarity index 100% rename from wallpapers/nix-wallpaper-nineish-catppuccin-frappe-alt.svg rename to images/wallpapers/nix-wallpaper-nineish-catppuccin-frappe-alt.svg diff --git a/wallpapers/nix-wallpaper-nineish-catppuccin-frappe.svg b/images/wallpapers/nix-wallpaper-nineish-catppuccin-frappe.svg similarity index 100% rename from wallpapers/nix-wallpaper-nineish-catppuccin-frappe.svg rename to images/wallpapers/nix-wallpaper-nineish-catppuccin-frappe.svg diff --git a/modules/theme/default.nix b/modules/theme/default.nix index 1a0b583..860d094 100644 --- a/modules/theme/default.nix +++ b/modules/theme/default.nix @@ -9,7 +9,9 @@ inherit (lib) mkEnableOption mkOption mkIf attrNames; inherit (lib.strings) removePrefix; inherit (lib.types) path package enum; - inherit (lib') generateGtkColors rgba; + + inherit (lib') generateGtkColors; + cfg = config.theme; in { imports = [ @@ -61,6 +63,13 @@ in { default = 32; }; }; + + avatar = mkOption { + description = '' + Path to an avatar image (used for hyprlock). + ''; + default = ../../images/avatar.png; + }; }; config = let scheme = inputs.basix.schemeData.base16.${config.theme.schemeName}; @@ -92,7 +101,98 @@ in { blur.enabled = true; }; }; + programs = { + hyprlock = { + settings = { + background = [ + { + path = "screenshot"; + blur_passes = 3; + blur_size = 8; + } + ]; + + general = { + disable_loading_bar = true; + hide_cursor = true; + }; + + label = [ + { + monitor = ""; + text = "Layout: $LAYOUT"; + font_size = 25; + color = scheme.palette.base05; + + position = "30, -30"; + halign = "left"; + valign = "top"; + } + { + monitor = ""; + text = "$TIME"; + font_size = 90; + color = scheme.palette.base05; + + position = "-30, 0"; + halign = "right"; + valign = "top"; + } + { + monitor = ""; + text = "cmd[update:43200000] date +\"%A, %d %B %Y\""; + font_size = 25; + color = scheme.palette.base05; + + position = "-30, -150"; + halign = "right"; + valign = "top"; + } + ]; + + image = { + monitor = ""; + path = "${cfg.avatar}"; # Replace with your avatar path + size = 100; + border_color = scheme.palette.base0D; + + position = "0, 75"; + halign = "center"; + valign = "center"; + }; + + input-field = [ + { + monitor = ""; + + size = "300, 60"; + outline_thickness = 4; + dots_size = 0.2; + dots_spacing = 0.2; + dots_center = true; + + outer_color = scheme.palette.base0D; + inner_color = scheme.palette.base02; + font_color = scheme.palette.base05; + + fade_on_empty = false; + placeholder_text = "󰌾 Logged in as $USER"; + + hide_input = false; + check_color = scheme.palette.base0D; + fail_color = scheme.palette.base08; + + fail_text = "$FAIL ($ATTEMPTS)"; + capslock_color = scheme.palette.base0E; + + position = "0, -47"; + halign = "center"; + valign = "center"; + } + ]; + }; + }; niri = { settings = { layout.focus-ring.active.color = scheme.palette.base0D;