mirror of
https://github.com/alyraffauf/nixcfg.git
synced 2024-11-22 15:03:55 -05:00
added new theme modules for customizing theme options across home profile
This commit is contained in:
parent
0dfae7d065
commit
19809ea557
|
@ -7,15 +7,125 @@
|
||||||
options = {
|
options = {
|
||||||
alyraffauf.desktop.theme.enable =
|
alyraffauf.desktop.theme.enable =
|
||||||
lib.mkEnableOption "GTK and Qt themes.";
|
lib.mkEnableOption "GTK and Qt themes.";
|
||||||
|
alyraffauf.desktop.theme.gtk = {
|
||||||
|
name = lib.mkOption {
|
||||||
|
description = "GTK theme name.";
|
||||||
|
default = "Catppuccin-Frappe-Compact-Mauve-Dark";
|
||||||
|
type = lib.types.str;
|
||||||
|
};
|
||||||
|
package = lib.mkOption {
|
||||||
|
description = "GTK theme package.";
|
||||||
|
default = pkgs.catppuccin-gtk.override {
|
||||||
|
accents = ["mauve"];
|
||||||
|
size = "compact";
|
||||||
|
variant = "frappe";
|
||||||
|
tweaks = ["normal"];
|
||||||
|
};
|
||||||
|
type = lib.types.package;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
alyraffauf.desktop.theme.iconTheme = {
|
||||||
|
name = lib.mkOption {
|
||||||
|
description = "Icon theme name.";
|
||||||
|
default = "Papirus-Dark";
|
||||||
|
type = lib.types.str;
|
||||||
|
};
|
||||||
|
package = lib.mkOption {
|
||||||
|
description = "Icon theme package.";
|
||||||
|
default = pkgs.catppuccin-papirus-folders.override {
|
||||||
|
flavor = "frappe";
|
||||||
|
accent = "mauve";
|
||||||
|
};
|
||||||
|
type = lib.types.package;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
alyraffauf.desktop.theme.cursorTheme = {
|
||||||
|
name = lib.mkOption {
|
||||||
|
description = "Cursor theme name.";
|
||||||
|
default = "Catppuccin-Frappe-Dark-Cursors";
|
||||||
|
type = lib.types.str;
|
||||||
|
};
|
||||||
|
size = lib.mkOption {
|
||||||
|
description = "Cursor size.";
|
||||||
|
default = 24;
|
||||||
|
type = lib.types.int;
|
||||||
|
};
|
||||||
|
package = lib.mkOption {
|
||||||
|
description = "Cursor theme package.";
|
||||||
|
default = pkgs.catppuccin-cursors.frappeDark;
|
||||||
|
type = lib.types.package;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
alyraffauf.desktop.theme.font = {
|
||||||
|
name = lib.mkOption {
|
||||||
|
description = "Font name.";
|
||||||
|
default = "NotoSansNerdFont-Regular";
|
||||||
|
type = lib.types.str;
|
||||||
|
};
|
||||||
|
size = lib.mkOption {
|
||||||
|
description = "Font size.";
|
||||||
|
default = 11;
|
||||||
|
type = lib.types.int;
|
||||||
|
};
|
||||||
|
package = lib.mkOption {
|
||||||
|
description = "Font package.";
|
||||||
|
default = pkgs.nerdfonts.override {fonts = ["Noto"];};
|
||||||
|
type = lib.types.package;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
alyraffauf.desktop.theme.terminalFont = {
|
||||||
|
name = lib.mkOption {
|
||||||
|
description = "Font name.";
|
||||||
|
default = "NotoSansMNerdFont-Regular";
|
||||||
|
type = lib.types.str;
|
||||||
|
};
|
||||||
|
size = lib.mkOption {
|
||||||
|
description = "Font size.";
|
||||||
|
default = 11;
|
||||||
|
type = lib.types.int;
|
||||||
|
};
|
||||||
|
package = lib.mkOption {
|
||||||
|
description = "Font package.";
|
||||||
|
default = pkgs.nerdfonts.override {fonts = ["Noto"];};
|
||||||
|
type = lib.types.package;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
alyraffauf.desktop.theme.colors = {
|
||||||
|
text = lib.mkOption {
|
||||||
|
description = "Text color.";
|
||||||
|
default = "#FAFAFA";
|
||||||
|
type = lib.types.str;
|
||||||
|
};
|
||||||
|
primary = lib.mkOption {
|
||||||
|
description = "Primary color.";
|
||||||
|
default = "#CA9EE6";
|
||||||
|
type = lib.types.str;
|
||||||
|
};
|
||||||
|
secondary = lib.mkOption {
|
||||||
|
description = "Secondary color.";
|
||||||
|
default = "#99D1DB";
|
||||||
|
type = lib.types.str;
|
||||||
|
};
|
||||||
|
inactive = lib.mkOption {
|
||||||
|
description = "Inactive color.";
|
||||||
|
default = "#626880";
|
||||||
|
type = lib.types.str;
|
||||||
|
};
|
||||||
|
shadow = lib.mkOption {
|
||||||
|
description = "Drop shadow color.";
|
||||||
|
default = "#1A1A1A";
|
||||||
|
type = lib.types.str;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf config.alyraffauf.desktop.theme.enable {
|
config = lib.mkIf config.alyraffauf.desktop.theme.enable {
|
||||||
home.pointerCursor = {
|
home.pointerCursor = {
|
||||||
gtk.enable = true;
|
gtk.enable = true;
|
||||||
x11.enable = true;
|
x11.enable = true;
|
||||||
package = pkgs.catppuccin-cursors.frappeDark;
|
package = config.alyraffauf.desktop.theme.cursorTheme.package;
|
||||||
name = "Catppuccin-Frappe-Dark-Cursors";
|
name = config.alyraffauf.desktop.theme.cursorTheme.name;
|
||||||
size = 24;
|
size = config.alyraffauf.desktop.theme.cursorTheme.size;
|
||||||
};
|
};
|
||||||
|
|
||||||
qt = {
|
qt = {
|
||||||
|
@ -28,27 +138,19 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
theme = {
|
theme = {
|
||||||
package = pkgs.catppuccin-gtk.override {
|
package = config.alyraffauf.desktop.theme.gtk.package;
|
||||||
accents = ["mauve"];
|
name = config.alyraffauf.desktop.theme.gtk.name;
|
||||||
size = "compact";
|
|
||||||
variant = "frappe";
|
|
||||||
tweaks = ["normal"];
|
|
||||||
};
|
|
||||||
name = "Catppuccin-Frappe-Compact-Mauve-Dark";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
package = pkgs.catppuccin-papirus-folders.override {
|
package = config.alyraffauf.desktop.theme.iconTheme.package;
|
||||||
flavor = "frappe";
|
name = config.alyraffauf.desktop.theme.iconTheme.name;
|
||||||
accent = "mauve";
|
|
||||||
};
|
|
||||||
name = "Papirus-Dark";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
font = {
|
font = {
|
||||||
name = "NotoSansNerdFont-Regular";
|
name = config.alyraffauf.desktop.theme.font.name;
|
||||||
package = pkgs.nerdfonts.override {fonts = ["Noto"];};
|
package = config.alyraffauf.desktop.theme.font.package;
|
||||||
size = 11;
|
size = config.alyraffauf.desktop.theme.font.size;
|
||||||
};
|
};
|
||||||
|
|
||||||
gtk3.extraConfig = {gtk-application-prefer-dark-theme = 1;};
|
gtk3.extraConfig = {gtk-application-prefer-dark-theme = 1;};
|
||||||
|
@ -58,10 +160,10 @@
|
||||||
|
|
||||||
dconf.settings = {
|
dconf.settings = {
|
||||||
"org/gnome/desktop/interface" = {
|
"org/gnome/desktop/interface" = {
|
||||||
gtk-theme = "Catppuccin-Frappe-Compact-Mauve-Dark";
|
gtk-theme = config.alyraffauf.desktop.theme.gtk.name;
|
||||||
color-scheme = "prefer-dark";
|
color-scheme = "prefer-dark";
|
||||||
cursor-theme = "Catppuccin-Frappe-Dark-Cursors";
|
cursor-theme = config.alyraffauf.desktop.theme.cursorTheme.name;
|
||||||
cursor-size = 24;
|
cursor-size = config.alyraffauf.desktop.theme.cursorTheme.size;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue