{ lib, pkgs, catppuccinVariant ? "Mocha", ... }: { stylix = { base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-${lib.strings.toLower catppuccinVariant}.yaml"; autoEnable = false; targets = { chromium.enable = true; console.enable = true; }; image = ../wallpapers/default.jpg; polarity = "dark"; opacity = { applications = 0.85; desktop = 1.0; popups = 0.5; terminal = 0.85; }; cursor = let variant = "${lib.strings.toLower catppuccinVariant}Dark"; in { package = pkgs.catppuccin-cursors.${variant}; name = "Catppuccin-${catppuccinVariant}-Dark-Cursors"; }; fonts = let iosevkaCustomBuildPlan = import ./iosevka.nix; in { sizes = { applications = 16; desktop = 20; popups = 20; terminal = 16; }; serif = rec { name = "Iosevka Custom Etoile"; package = pkgs.iosevka.override { set = "etoile"; privateBuildPlan = { inherit (iosevkaCustomBuildPlan) noCvSs exportGlyphNames variants weights; family = name; spacing = "quasi-proportional"; serifs = "slab"; }; }; }; sansSerif = rec { name = "Iosevka Custom Aile"; package = pkgs.iosevka.override { set = "aile"; privateBuildPlan = { inherit (iosevkaCustomBuildPlan) noCvSs exportGlyphNames variants weights; family = name; spacing = "quasi-proportional"; serifs = "sans"; }; }; }; monospace = rec { name = "Iosevka Custom"; package = pkgs.iosevka.override { set = "custom"; privateBuildPlan = { inherit (iosevkaCustomBuildPlan) noCvSs exportGlyphNames variants weights; family = name; spacing = "normal"; serifs = "sans"; }; }; }; emoji = { name = "Noto Color Emoji"; package = pkgs.noto-fonts-emoji; }; }; homeManagerIntegration.followSystem = true; }; }