{ 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 = { noCvSs = false; exportGlyphNames = false; ligations.inherits = "dlig"; # variants.inherits = "ss05"; weights = { Regular = { shape = 400; menu = 400; css = 400; }; Bold = { shape = 700; menu = 700; css = 700; }; }; variants.design = { capital-q = "crossing-curly-tailed"; e = "rounded"; f = "tailed"; g = "double-storey-open"; i = "tailed"; k = "cursive-serifless"; l = "tailed-serifed"; t = "bent-hook-asymmetric"; v = "curly-serifless"; w = "curly-serifless"; x = "curly-serifless"; y = "straight-turn-serifless"; lower-lambda = "tailed-turn"; lower-xi = "flat-top"; lower-chi = "semi-chancery-curly"; zero = "tall-slashed"; three = "flat-top"; six = "straight-bar"; seven = "straight-serifless-crossbar"; eight = "crossing-asymmetric"; nine = "straight-bar"; ampersand = "upper-open"; at = "fourfold"; cent = "through"; percent = "rings-segmented-slash"; lig-ltgteq = "flat"; }; }; 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; }; }