{ pkgs, lib, config, ... }: let cfg = config.my.stylix; mkScheme = color: name: polarity: image: { inherit name polarity image; iconPackage = pkgs.papirus-icon-theme.override { inherit color; }; }; schemas = { who = mkScheme "bluegrey" "kanagawa" "dark" ./wallpapers/Nikolay_Kasatkin_Who.jpeg; jesus = mkScheme "red" "equilibrium-light" "light" ./wallpapers/jesus.png; }; scheme = schemas.who; in { options.my.stylix.enable = lib.mkEnableOption "enable"; config = { stylix = { inherit (scheme) image polarity; enable = cfg.enable; targets.qt.platform = lib.mkForce "qtct"; base16Scheme = "${pkgs.base16-schemes}/share/themes/${scheme.name}.yaml"; }; home-manager.users.jawz = { gtk = lib.mkIf (!cfg.enable) { iconTheme = scheme.iconPackage; }; stylix = { enable = cfg.enable; iconTheme = { enable = cfg.enable; package = scheme.iconPackage; light = "Papirus-Light"; dark = "Papirus-Dark"; }; targets.librewolf = { firefoxGnomeTheme.enable = cfg.enable; profileNames = [ "jawz" ]; }; }; }; }; }