NixOS/stylix.nix

58 lines
1.8 KiB
Nix

{
pkgs,
lib,
config,
...
}:
let
cfg = config.my.stylix;
iconTheme = pkgs.papirus-icon-theme.override { color = "green"; };
in
{
options.my.stylix.enable = lib.mkEnableOption "enable";
config = {
stylix = {
enable = cfg.enable;
image = ./wallpapers/strike-of-the-ballerinas.jpeg;
targets.qt.platform = lib.mkForce "qtct";
polarity = "light";
base16Scheme = {
base00 = "fcfbfa"; # background (stage floor highlight)
base01 = "f1efec"; # light surface (tutu white)
base02 = "dedad5"; # selection bg (shadowed tulle)
base03 = "b9b3aa"; # comments/dim fg (wall and dancers' shadows)
base04 = "837d75"; # status bar bg (soft gray-brown suits)
base05 = "514c45"; # main text (outline shadows)
base06 = "3b3731"; # headings/bold (deepest shadows)
base07 = "2c2925"; # dark accents (coats, seats)
base08 = "bd7760"; # red-accent (blush tones)
base09 = "d8b47f"; # warm gold (light skin and floor warmth)
base0A = "a2ad78"; # dusty green (faint shadows)
base0B = "7f9372"; # sage green (secondary/OK)
base0C = "96b7af"; # teal-gray (cool lights)
base0D = "6c8c99"; # cyan steel (links)
base0E = "a08b75"; # brown-gold (muted keywords)
base0F = "8f5e45"; # burnt sienna (deprecated/error)
};
};
home-manager.users.jawz = {
gtk = lib.mkIf (!cfg.enable) {
iconTheme = iconTheme;
};
stylix = {
enable = cfg.enable;
iconTheme = {
enable = cfg.enable;
package = iconTheme;
light = "Papirus-Light";
dark = "Papirus-Dark";
};
targets.librewolf = {
firefoxGnomeTheme.enable = cfg.enable;
profileNames = [ "jawz" ];
};
};
};
};
}