{ theme, ... }:

{
  programs.hyprlock = {
    enable = true;
    settings = {
      "$font" = "${theme.nerdFont} Nerd Font";

      background = [
        {
          path = "${theme.wallpaper.lockscreen}";
        }
      ];

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

      # LAYOUT
      label = [
        {
          text = "$LAYOUT";
          color = "${theme.textRgb}";
          font_size = 25;
          font_family = "$font";
          position = "30, -30";
          halign = "left";
          valign = "top";
        }
        # TIME
        {
          text = "$TIME";
          color = "${theme.textRgb}";
          font_size = 90;
          font_family = "$font";
          position = "-30, 0";
          halign = "right";
          valign = "top";
        }
        # DATE
        {
          text = "cmd[update:43200000] date +\"%A, %d %B %Y\"";
          color = "${theme.textRgb}";
          font_size = 25;
          font_family = "$font";
          position = "-30, -150";
          halign = "right";
          valign = "top";
        }
      ];

      # USER AVATAR
      image = {
        path = builtins.toString theme.avatar.image;
        size = 100;
        border_color = "${theme.blueRgb}";
        position = "0, 75";
        halign = "center";
        valign = "center";
      };

      # INPUT FIELD
      input-field = {
        size = "300, 60";
        outline_thickness = 4;
        dots_size = 0.2;
        dots_spacing = 0.2;
        dots_center = true;
        outer_color = "${theme.blueRgb}";
        inner_color = "${theme.surface0Rgb}";
        font_color = "${theme.textRgb}";
        fade_on_empty = false;
        placeholder_text = "<span foreground=\"##${theme.textAlpha}\">󰌾 Logged in as <span foreground=\"##${theme.blueAlpha}\">$USER</span></span>";
        hide_input = false;
        check_color = "${theme.blueRgb}";
        fail_color = "${theme.redRgb}";
        fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
        capslock_color = "${theme.yellowRgb}";
        position = "0, -47"; # TODO change to use % at 25.05
        halign = "center";
        valign = "center";
      };
    };
  };
}
