{ 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 = [ inputs.stylix.homeManagerModules.stylix ../../../colors.nix ]; config = mkIf cfg.enable { stylix = with pkgs; True // { autoEnable = false; image = "${wal}/wallpapers/paradise/${cfg.image}.jpg"; cursor = let size = 24; custom = with inputs.cursors; { inherit size; 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; }; }; google = with pkgs; { inherit size; name = "GoogleDot-Black"; package = google-cursor; }; in google; fonts = let jet = { name = "JetBrainsMono NerdFont"; package = nerdfonts.override { fonts = [ "JetBrainsMono" ]; }; }; in { serif = jet; monospace = jet; emoji = { name = "OpenMoji Color"; package = noto-fonts-emoji; }; 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; }; }; }; }