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;