46 lines
1.6 KiB
Nix
46 lines
1.6 KiB
Nix
|
{ config, options, lib, pkgs, ... }:
|
||
|
|
||
|
{
|
||
|
options.stylix.targets.spicetify.enable =
|
||
|
config.lib.stylix.mkEnableTarget "Spicetify" true;
|
||
|
|
||
|
config = lib.mkIf (config.stylix.enable && config.stylix.targets.spicetify.enable && (config.programs?spicetify)) (
|
||
|
lib.optionalAttrs (builtins.hasAttr "spicetify" options.programs) {
|
||
|
programs.spicetify = {
|
||
|
theme = {
|
||
|
name = "stylix";
|
||
|
src = pkgs.writeTextFile {
|
||
|
name = "color.ini";
|
||
|
destination = "/color.ini";
|
||
|
text = with config.lib.stylix.colors; ''
|
||
|
[base]
|
||
|
text = ${base05}
|
||
|
subtext = ${base05}
|
||
|
main = ${base00}
|
||
|
main-elevated = ${base02}
|
||
|
highlight = ${base02}
|
||
|
highlight-elevated = ${base03}
|
||
|
sidebar = ${base01}
|
||
|
player = ${base05}
|
||
|
card = ${base04}
|
||
|
shadow = ${base00}
|
||
|
selected-row = ${base05}
|
||
|
button = ${base05}
|
||
|
button-active = ${base05}
|
||
|
button-disabled = ${base04}
|
||
|
tab-active = ${base02}
|
||
|
notification = ${base02}
|
||
|
notification-error = ${base08}
|
||
|
equalizer = ${base0B}
|
||
|
misc = ${base02}
|
||
|
'';
|
||
|
};
|
||
|
# Sidebar configuration is incompatible with the default navigation bar
|
||
|
sidebarConfig = false;
|
||
|
};
|
||
|
colorScheme = "base";
|
||
|
};
|
||
|
}
|
||
|
);
|
||
|
}
|