140 lines
3.5 KiB
Nix
140 lines
3.5 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";
|
|
};
|
|
};
|
|
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 = "FiraMono 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.fira-mono;
|
|
};
|
|
};
|
|
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 = {
|
|
name = lib.mkOption {
|
|
type = lib.types.str;
|
|
readOnly = true;
|
|
default = config.colors.scheme;
|
|
};
|
|
package = lib.mkOption {
|
|
type = lib.types.package;
|
|
readOnly = true;
|
|
default =
|
|
with config.scheme;
|
|
(pkgs.bibata-cursor.override {
|
|
themeName = config.colors.scheme;
|
|
baseColor = withHashtag.${config.colors.accent};
|
|
outlineColor = withHashtag.base00;
|
|
watchBackgroundColor = withHashtag.base11;
|
|
cursorSizes = "16 20 22 24 28 32 40 48 56 64 72 80 88 96";
|
|
});
|
|
};
|
|
size = lib.mkOption {
|
|
type = lib.types.int;
|
|
readOnly = true;
|
|
default = 24;
|
|
};
|
|
path = lib.mkOption {
|
|
type = lib.types.str;
|
|
readOnly = true;
|
|
default = "${config.userOptions.cursor.package}/share/icons/${config.colors.scheme}";
|
|
};
|
|
};
|
|
# isDark = lib.mkOption {
|
|
# type = lib.types.bool;
|
|
# readOnly = true;
|
|
# default = config.catppuccin.flavor != "latte";
|
|
# };
|
|
};
|
|
};
|
|
}
|