mirror of
https://github.com/danth/stylix
synced 2024-11-22 20:23:15 +00:00
64 lines
2 KiB
Nix
64 lines
2 KiB
Nix
{ config, lib, ... }:
|
|
|
|
with config.lib.stylix.colors;
|
|
|
|
let
|
|
inside = base01-hex;
|
|
outside = base01-hex;
|
|
ring = base05-hex;
|
|
text = base05-hex;
|
|
positive = base0B-hex;
|
|
negative = base08-hex;
|
|
|
|
in {
|
|
options.stylix.targets.swaylock = {
|
|
enable = config.lib.stylix.mkEnableTarget "Swaylock" true;
|
|
useImage = lib.mkOption {
|
|
description = ''
|
|
Whether to use your wallpaper image for the Swaylock background.
|
|
If this is disabled, a plain color will be used instead.
|
|
'';
|
|
type = lib.types.bool;
|
|
default = true;
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf config.stylix.targets.swaylock.enable {
|
|
home-manager.sharedModules = [(
|
|
{ options, ... }:
|
|
{
|
|
# See https://github.com/danth/stylix/issues/8#issuecomment-1194484544
|
|
# This check can be removed when programs.swaylock is in a stable release
|
|
config = lib.optionalAttrs (options.programs ? swaylock) {
|
|
programs.swaylock.settings = {
|
|
color = outside;
|
|
scaling = "fill";
|
|
inside-color = inside;
|
|
inside-clear-color = inside;
|
|
inside-caps-lock-color = inside;
|
|
inside-ver-color = inside;
|
|
inside-wrong-color = inside;
|
|
key-hl-color = positive;
|
|
layout-bg-color = inside;
|
|
layout-border-color = ring;
|
|
layout-text-color = text;
|
|
line-uses-inside = true;
|
|
ring-color = ring;
|
|
ring-clear-color = negative;
|
|
ring-caps-lock-color = ring;
|
|
ring-ver-color = positive;
|
|
ring-wrong-color = negative;
|
|
separator-color = "00000000";
|
|
text-color = text;
|
|
text-clear-color = text;
|
|
text-caps-lock-color = text;
|
|
text-ver-color = text;
|
|
text-wrong-color = text;
|
|
} // lib.optionalAttrs config.stylix.targets.swaylock.useImage {
|
|
image = "${config.stylix.image}";
|
|
};
|
|
};
|
|
}
|
|
)];
|
|
};
|
|
}
|