{ pkgs, lib, config, inputs, True, False, ... }: with lib; let cfg = config.module.themes.stylix; wal = inputs.design; in { options = { module.themes.stylix = { enable = mkEnableOption ""; theme = mkOption { default = null; type = types.str; }; image = mkOption { default = null; type = types.str; }; cursor = { bg = mkOption { default = null; type = types.str; }; ol = mkOption { default = null; type = types.str; }; ac = mkOption { default = null; type = types.str; }; }; }; }; imports = with inputs; [ stylix.homeManagerModules.stylix ../../../colors.nix ]; config = mkIf cfg.enable { stylix = True // { autoEnable = false; image = "${wal}/wallpapers/paradise/${cfg.image}.jpg"; cursor = with inputs.cursors; { size = 16; name = "GoogleDot-Custom"; package = packages.${pkgs.system}.google-cursor.override { background_color = cfg.cursor.bg; outline_color = cfg.cursor.ol; accent_color = cfg.cursor.ac; }; }; fonts = let font = { name = "JetBrainsMono Nerd Font"; package = (pkgs.callPackage ../nerdfonts/default.nix { fonts = [ "JetBrainsMono" ]; }); }; in { serif = font; monospace = font; emoji = font; sizes = { desktop = 10; popups = 10; applications = 12; terminal = 12; }; }; targets = { # CLI tmux = True; fish = True; nushell = True; # WM hyprland = True; sway = True; foot = True; kitty = True; mako = False; # TOOLS nixvim = True; yazi = True; fzf = True; bat = True; mangohud = True; # GUI vesktop = True; qutebrowser = True; firefox = True; gtk = True; }; }; }; }