{ config, inputs, lib, username, pkgs, vars, ... }: let cfg = config.catppuccinTheming; in #cursor-theme = "Catppuccin-${flavor-upper}-${accent-upper}"; { options = { catppuccinTheming = { enable = lib.mkEnableOption "Enable catppuccinTheming in NixOS & home-manager"; }; }; config = lib.mkIf cfg.enable { stylix = { enable = true; autoEnable = true; image = ./wallpapers/biking-sunset.jpg; base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-frappe.yaml"; opacity.terminal = 0.8; cursor.package = pkgs.bibata-cursors; cursor.name = "Bibata-Modern-Ice"; cursor.size = 24; fonts = { monospace = { package = pkgs.nerd-fonts.jetbrains-mono; name = "JetBrainsMono Nerd Font Mono"; }; sansSerif = { package = pkgs.inter; name = "Inter"; }; serif = { package = pkgs.montserrat; name = "Montserrat"; }; sizes = { applications = 12; terminal = 15; desktop = 11; popups = 12; }; }; }; fonts = { packages = with pkgs; [ noto-fonts-emoji noto-fonts-cjk-sans font-awesome material-icons ]; }; home-manager.users.${username} = { stylix = { targets = { kitty.enable = true; foot.enable = true; mangohud.enable = false; }; autoEnable = true; }; services.xsettingsd = { settings = { # "Gtk/CursorThemeSize" = 24; # "Gtk/CursorThemeName" = "${cursor-theme}"; # "Gtk/FontName" = "${sans-font}, 12"; "Net/IconThemeName" = "Papirus-Dark"; # "Net/ThemeName" = "${GTK-THEME}"; }; }; gtk.iconTheme = { package = pkgs.catppuccin-papirus-folders; name = "cat-mocha-lavender"; }; }; }; }