nixos/system/stylix.nix
2024-03-02 13:16:48 +00:00

81 lines
2.1 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 = 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;
};
}