126 lines
3.4 KiB
Nix
126 lines
3.4 KiB
Nix
{
|
|
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;
|
|
};
|
|
}
|