{ mkTarget, lib, options, ... }: mkTarget { config = lib.optionals (options.services ? vicinae) [ ( { colors, polarity }: { services.vicinae = { settings.theme.name = "stylix"; themes.stylix = { meta = { name = "stylix"; description = "theme generated by stylix"; variant = if polarity == "either" then "light" else polarity; }; colors = with colors.withHashtag; { core = { background = base00; foreground = base05; secondary_background = base01; border = base02; accent = base0D; }; accents = { # TODO: magenta and purple shouldn't be the same color blue = base0D; green = base0B; magenta = base0E; orange = base09; purple = base0E; red = base08; yellow = base0A; cyan = base0C; }; list.item = { selection = { background.name = base02; secondary_background = base03; }; hover.background = base01; }; }; }; }; } ) ( { opacity }: { services.vicinae.settings.window.opacity = opacity.popups; } ) ]; }