{ config, lib, pkgs, ... }: with lib; let cfg = config.local.sys.gtklock; in { options.local.sys.gtklock = { enable = mkEnableOption "gtklock settings"; }; config = mkIf cfg.enable { programs.gtklock = { enable = true; config = { main = { idle-hide = true; idle-timeout = 1; time-format = "%H:%M:%S"; start-hidden = true; }; }; style = '' /* Main lockscreen window */ window { background-color: black; color: #eaeaea; font-family: "JetBrains Mono", monospace; font-size: 14px; } /* Container for clock + prompt */ #main-box { background: black; border: none; border-radius: 0; padding: 0; margin: 0; } /* Clock text */ #clock { font-size: 32px; font-weight: bold; color: #ffffff; margin-bottom: 12px; } /* Date text */ #date { font-size: 14px; color: #aaaaaa; margin-bottom: 24px; } /* Password entry */ entry { background-color: black; color: #ffffff; border: none; border-radius: 0; padding: 6px 8px; font-family: "JetBrains Mono", monospace; font-size: 12px; } /* Hide any extra icons in the entry */ entry image { opacity: 0; width: 0; height: 0; } /* Wrong password feedback */ #auth-failure { color: #ff6666; font-size: 12px; margin-top: 6px; } ''; }; }; }