152 lines
3.8 KiB
Nix
152 lines
3.8 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
options = {
|
|
colors = {
|
|
scheme = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "catppuccin-mocha";
|
|
};
|
|
accent = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "base09";
|
|
};
|
|
};
|
|
# catppuccinUpper = {
|
|
# accent = lib.mkOption {
|
|
# type = lib.types.str;
|
|
# readOnly = true;
|
|
# default =
|
|
# builtins.substring 0 1 (lib.toUpper config.catppuccin.accent)
|
|
# + builtins.substring 1 (-1) config.catppuccin.accent;
|
|
# };
|
|
# flavor = lib.mkOption {
|
|
# type = lib.types.str;
|
|
# readOnly = true;
|
|
# default =
|
|
# builtins.substring 0 1 (lib.toUpper config.catppuccin.flavor)
|
|
# + builtins.substring 1 (-1) config.catppuccin.flavor;
|
|
# };
|
|
# };
|
|
userOptions = {
|
|
name = lib.mkOption {
|
|
type = lib.types.str;
|
|
readOnly = true;
|
|
default = "Sean Kovacs";
|
|
};
|
|
username = lib.mkOption {
|
|
type = lib.types.str;
|
|
readOnly = true;
|
|
default = "sckova";
|
|
};
|
|
hostname = lib.mkOption {
|
|
type = lib.types.str;
|
|
readOnly = true;
|
|
default = config.system.name;
|
|
};
|
|
fontSans = {
|
|
name = lib.mkOption {
|
|
type = lib.types.str;
|
|
readOnly = true;
|
|
default = "Noto Sans";
|
|
};
|
|
size = lib.mkOption {
|
|
type = lib.types.int;
|
|
readOnly = true;
|
|
default = 11;
|
|
};
|
|
package = lib.mkOption {
|
|
type = lib.types.package;
|
|
readOnly = true;
|
|
default = pkgs.noto-fonts;
|
|
};
|
|
};
|
|
fontSerif = {
|
|
name = lib.mkOption {
|
|
type = lib.types.str;
|
|
readOnly = true;
|
|
default = "Noto Serif";
|
|
};
|
|
size = lib.mkOption {
|
|
type = lib.types.int;
|
|
readOnly = true;
|
|
default = 11;
|
|
};
|
|
package = lib.mkOption {
|
|
type = lib.types.package;
|
|
readOnly = true;
|
|
default = pkgs.noto-fonts;
|
|
};
|
|
};
|
|
fontMono = {
|
|
name = lib.mkOption {
|
|
type = lib.types.str;
|
|
readOnly = true;
|
|
default = "NotoSansM Nerd Font Mono";
|
|
};
|
|
size = lib.mkOption {
|
|
type = lib.types.int;
|
|
readOnly = true;
|
|
default = 10;
|
|
};
|
|
package = lib.mkOption {
|
|
type = lib.types.package;
|
|
readOnly = true;
|
|
default = pkgs.nerd-fonts.noto;
|
|
};
|
|
};
|
|
fontEmoji = {
|
|
name = lib.mkOption {
|
|
type = lib.types.str;
|
|
readOnly = true;
|
|
default = "Noto Emoji";
|
|
};
|
|
size = lib.mkOption {
|
|
type = lib.types.int;
|
|
readOnly = true;
|
|
default = 10;
|
|
};
|
|
package = lib.mkOption {
|
|
type = lib.types.package;
|
|
readOnly = true;
|
|
default = pkgs.noto-fonts-color-emoji;
|
|
};
|
|
};
|
|
cursor =
|
|
let
|
|
attrName = "mocha" + "Peach";
|
|
in
|
|
{
|
|
name = lib.mkOption {
|
|
type = lib.types.str;
|
|
readOnly = true;
|
|
default = "catppuccin-mocha-peach-cursors";
|
|
};
|
|
package = lib.mkOption {
|
|
type = lib.types.package;
|
|
readOnly = true;
|
|
default = pkgs.catppuccin-cursors.${attrName};
|
|
};
|
|
size = lib.mkOption {
|
|
type = lib.types.int;
|
|
readOnly = true;
|
|
default = 24;
|
|
};
|
|
path = lib.mkOption {
|
|
type = lib.types.str;
|
|
readOnly = true;
|
|
default = "${pkgs.catppuccin-cursors.${attrName}}/share/icons";
|
|
};
|
|
};
|
|
# isDark = lib.mkOption {
|
|
# type = lib.types.bool;
|
|
# readOnly = true;
|
|
# default = config.catppuccin.flavor != "latte";
|
|
# };
|
|
};
|
|
};
|
|
}
|