{ pkgs, catppuccin, ... }:

{
    # Hyprland and related packages
    home.packages = with pkgs; [
        hyprlock
    ];

    catppuccin.hyprlock.enable = false;

    # Hyprlock configuration
    programs.hyprlock = {
    	enable = true;
	settings = {
		
		source = "$HOME/.config/hypr/mocha.conf";

		"$accent" = "$mauve";
		"$accentAlpha" = "$mauveAlpha";
		"$font" = "JetBrainsMono Nerd Font";

		general = {
			disable_loading_bar = true;
			hide_cursor = true;
		};

		background = [
			{
				path="~/Pictures/Wallpapers/lucy_with_cat.png";
				blur_passes = 0;
				blur_size = 0;
			}
		];

		label = [
			# TIME
			{
			  monitor = "";
			  text = "$TIME";
			  color = "$text";
			  font_size = 90;
			  font_family = "$font";
			  position = "-30, 0";
			  halign = "right";
			  valign = "top";
			}

			# DATE
			{
			  monitor = "";
			  text = ''cmd[update:43200000] date +"%A, %d %B %Y"'';
			  color = "$text";
			  font_size = 25;
			  font_family = "$font";
			  position = "-30, -150";
			  halign = "right";
			  valign = "top";
			}
		];

		# INPUT FIELD
		input-field = {
		  monitor = "";
		  size = "300, 60";
		  outline_thickness = 4;
		  dots_size = 0.2;
		  dots_spacing = 0.2;
		  dots_center = "true";
		  outer_color = "$red";
		  inner_color = "$surface0";
		  font_color = "$text";
		  fade_on_empty = false;
		  placeholder_text = ''<span foreground="##$textAlpha"><i>󰌾 Logged in as </i><span foreground="##$accentAlpha">$USER</span></span>'';
		  hide_input = false;
		  check_color = "$accent";
		  fail_color = "$red";
		  fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
		  capslock_color = "$yellow";
		  position = "0, -150";
		  halign = "center";
		  valign = "center";
		};

		image = {
		  monitor = "";
		  path = "~/.config/hypr/avatar.png";
		  size = 300;
		  border_color = "$teal";
		  position = "0, 75";
		  halign = "center";
		  valign = "center";
		};
	};
    };

}