cleaned up and simplified theming
This commit is contained in:
parent
39939714b7
commit
d531fb9c59
12 changed files with 249 additions and 452 deletions
|
@ -3,7 +3,11 @@
|
||||||
imports = [ ./hardware-configuration.nix ];
|
imports = [ ./hardware-configuration.nix ];
|
||||||
|
|
||||||
modules = {
|
modules = {
|
||||||
themes.active = "everforest";
|
themes = {
|
||||||
|
enable = true;
|
||||||
|
theme = "everforest";
|
||||||
|
polarity = "dark";
|
||||||
|
};
|
||||||
|
|
||||||
system.audio = true;
|
system.audio = true;
|
||||||
networking.enable = true;
|
networking.enable = true;
|
||||||
|
|
|
@ -3,7 +3,11 @@
|
||||||
imports = [ ./hardware.nix ];
|
imports = [ ./hardware.nix ];
|
||||||
|
|
||||||
modules = {
|
modules = {
|
||||||
themes.active = "everforest";
|
themes = {
|
||||||
|
enable = true;
|
||||||
|
theme = "everforest";
|
||||||
|
polarity = "dark";
|
||||||
|
};
|
||||||
|
|
||||||
system.audio.enable = true;
|
system.audio.enable = true;
|
||||||
networking.enable = true;
|
networking.enable = true;
|
||||||
|
|
|
@ -3,7 +3,11 @@
|
||||||
imports = [ ./hardware.nix ];
|
imports = [ ./hardware.nix ];
|
||||||
|
|
||||||
modules = {
|
modules = {
|
||||||
themes.active = "everforest";
|
themes = {
|
||||||
|
enable = true;
|
||||||
|
theme = "everforest";
|
||||||
|
polarity = "dark";
|
||||||
|
};
|
||||||
|
|
||||||
networking.enable = true;
|
networking.enable = true;
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,11 @@
|
||||||
imports = [ ./hardware-configuration.nix ];
|
imports = [ ./hardware-configuration.nix ];
|
||||||
|
|
||||||
modules = {
|
modules = {
|
||||||
themes.active = "everforest";
|
themes = {
|
||||||
|
enable = true;
|
||||||
|
theme = "everforest";
|
||||||
|
polarity = "dark";
|
||||||
|
};
|
||||||
|
|
||||||
system.audio = true;
|
system.audio = true;
|
||||||
networking.enable = true;
|
networking.enable = true;
|
||||||
|
|
|
@ -19,7 +19,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
# colorschemes.base16 = "${pkgs.base16-schemes}/share/themes/everforest.yaml";
|
# colorschemes.base16 = "${pkgs.base16-schemes}/share/themes/everforest.yaml";
|
||||||
colorschemes.everforest.enable = true;
|
# colorschemes.everforest.enable = true;
|
||||||
|
|
||||||
plugins = {
|
plugins = {
|
||||||
lualine.enable = true;
|
lualine.enable = true;
|
||||||
|
|
|
@ -8,8 +8,6 @@
|
||||||
inherit (builtins) toString;
|
inherit (builtins) toString;
|
||||||
inherit (lib.meta) getExe;
|
inherit (lib.meta) getExe;
|
||||||
inherit (lib.modules) mkIf mkMerge;
|
inherit (lib.modules) mkIf mkMerge;
|
||||||
|
|
||||||
active = config.modules.themes.active;
|
|
||||||
in {
|
in {
|
||||||
options.modules.desktop.terminal.alacritty = let
|
options.modules.desktop.terminal.alacritty = let
|
||||||
inherit (lib.options) mkEnableOption;
|
inherit (lib.options) mkEnableOption;
|
||||||
|
@ -48,54 +46,54 @@ in {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
(mkIf (active != null) {
|
# (mkIf (active != null) {
|
||||||
import = ["~/.config/alacritty/config/${active}.toml"];
|
# import = ["~/.config/alacritty/config/${active}.toml"];
|
||||||
})
|
# })
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
create.configFile = mkIf (active != null) {
|
# create.configFile = mkIf (active != null) {
|
||||||
alacritty-conf = {
|
# alacritty-conf = {
|
||||||
target = "alacritty/config/${active}.toml";
|
# target = "alacritty/config/${active}.toml";
|
||||||
source = let
|
# source = let
|
||||||
inherit (config.modules.themes.font) mono sans;
|
# inherit (config.modules.themes.font) mono sans;
|
||||||
tomlFormat = pkgs.formats.toml {};
|
# tomlFormat = pkgs.formats.toml {};
|
||||||
in tomlFormat.generate "alacritty-theme" {
|
# in tomlFormat.generate "alacritty-theme" {
|
||||||
font = {
|
# font = {
|
||||||
builtin_box_drawing = true;
|
# builtin_box_drawing = true;
|
||||||
size = mono.size;
|
# size = mono.size;
|
||||||
|
#
|
||||||
normal = {
|
# normal = {
|
||||||
family = "${mono.family}";
|
# family = "${mono.family}";
|
||||||
style = "${sans.weight}";
|
# style = "${sans.weight}";
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
italic = {
|
# italic = {
|
||||||
family = "${mono.family}";
|
# family = "${mono.family}";
|
||||||
style = "${sans.weight} Italic";
|
# style = "${sans.weight} Italic";
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
bold = {
|
# bold = {
|
||||||
family = "${mono.family}";
|
# family = "${mono.family}";
|
||||||
style = "${mono.weight}";
|
# style = "${mono.weight}";
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
bold_italic = {
|
# bold_italic = {
|
||||||
family = "${mono.family}";
|
# family = "${mono.family}";
|
||||||
style = "${mono.weight} Italic";
|
# style = "${mono.weight} Italic";
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
offset = {
|
# offset = {
|
||||||
x = 0;
|
# x = 0;
|
||||||
y = 0;
|
# y = 0;
|
||||||
};
|
# };
|
||||||
glyph_offset = {
|
# glyph_offset = {
|
||||||
x = 0;
|
# x = 0;
|
||||||
y = 0;
|
# y = 0;
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ in
|
||||||
background_update = true;
|
background_update = true;
|
||||||
disks_filter = "exclude=/boot";
|
disks_filter = "exclude=/boot";
|
||||||
|
|
||||||
color_theme = "${active}";
|
# color_theme = "${active}";
|
||||||
rounded_corners = true;
|
rounded_corners = true;
|
||||||
theme_background = false;
|
theme_background = false;
|
||||||
truecolor = true;
|
truecolor = true;
|
||||||
|
@ -90,55 +90,55 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
create.configFile.btop-theme = let
|
# create.configFile.btop-theme = let
|
||||||
inherit (config.modules.themes) active;
|
# inherit (config.modules.themes) active;
|
||||||
in
|
# in
|
||||||
mkIf (active != null) {
|
# mkIf (active != null) {
|
||||||
target = "btop/themes/${active}.theme";
|
# target = "btop/themes/${active}.theme";
|
||||||
text = ''
|
# text = ''
|
||||||
theme[main_bg]="bg"
|
# theme[main_bg]="bg"
|
||||||
theme[main_fg]="fg"
|
# theme[main_fg]="fg"
|
||||||
theme[title]="fg"
|
# theme[title]="fg"
|
||||||
theme[hi_fg]="highlight"
|
# theme[hi_fg]="highlight"
|
||||||
theme[selected_bg]="border"
|
# theme[selected_bg]="border"
|
||||||
theme[selected_fg]="bg"
|
# theme[selected_fg]="bg"
|
||||||
theme[inactive_fg]="brightBlack"
|
# theme[inactive_fg]="brightBlack"
|
||||||
theme[graph_text]="brightYellow"
|
# theme[graph_text]="brightYellow"
|
||||||
theme[meter_bg]="brightblack"
|
# theme[meter_bg]="brightblack"
|
||||||
theme[proc_misc]="brightYellow"
|
# theme[proc_misc]="brightYellow"
|
||||||
theme[cpu_box]="brightCyan"
|
# theme[cpu_box]="brightCyan"
|
||||||
theme[mem_box]="brightGreen"
|
# theme[mem_box]="brightGreen"
|
||||||
theme[net_box]="brightMagenta"
|
# theme[net_box]="brightMagenta"
|
||||||
theme[proc_box]="brightYellow"
|
# theme[proc_box]="brightYellow"
|
||||||
theme[div_line]="brightblack"
|
# theme[div_line]="brightblack"
|
||||||
theme[temp_start]="brightYellow"
|
# theme[temp_start]="brightYellow"
|
||||||
theme[temp_mid]="panelbg"
|
# theme[temp_mid]="panelbg"
|
||||||
theme[temp_end]="brightRed"
|
# theme[temp_end]="brightRed"
|
||||||
theme[cpu_start]="brightCyan"
|
# theme[cpu_start]="brightCyan"
|
||||||
theme[cpu_mid]="border"
|
# theme[cpu_mid]="border"
|
||||||
theme[cpu_end]="brightGreen"
|
# theme[cpu_end]="brightGreen"
|
||||||
theme[free_start]="brightGreen"
|
# theme[free_start]="brightGreen"
|
||||||
theme[free_mid]="brightGreen"
|
# theme[free_mid]="brightGreen"
|
||||||
theme[free_end]="brightGreen"
|
# theme[free_end]="brightGreen"
|
||||||
theme[cached_start]="brightYellow"
|
# theme[cached_start]="brightYellow"
|
||||||
theme[cached_mid]="brightYellow"
|
# theme[cached_mid]="brightYellow"
|
||||||
theme[cached_end]="brightMagenta"
|
# theme[cached_end]="brightMagenta"
|
||||||
theme[available_start]="brightYellow"
|
# theme[available_start]="brightYellow"
|
||||||
theme[available_mid]="brightYellow"
|
# theme[available_mid]="brightYellow"
|
||||||
theme[available_end]="brightYellow"
|
# theme[available_end]="brightYellow"
|
||||||
theme[used_start]="panelbg"
|
# theme[used_start]="panelbg"
|
||||||
theme[used_mid]="panelbg"
|
# theme[used_mid]="panelbg"
|
||||||
theme[used_end]="brightRed"
|
# theme[used_end]="brightRed"
|
||||||
theme[download_start]="brightBlue"
|
# theme[download_start]="brightBlue"
|
||||||
theme[download_mid]="brightBlue"
|
# theme[download_mid]="brightBlue"
|
||||||
theme[download_end]="brightMagenta"
|
# theme[download_end]="brightMagenta"
|
||||||
theme[upload_start]="brightBlue"
|
# theme[upload_start]="brightBlue"
|
||||||
theme[upload_mid]="brightBlue"
|
# theme[upload_mid]="brightBlue"
|
||||||
theme[upload_end]="brightMagenta"
|
# theme[upload_end]="brightMagenta"
|
||||||
theme[process_start]="brightCyan"
|
# theme[process_start]="brightCyan"
|
||||||
theme[process_mid]="border"
|
# theme[process_mid]="border"
|
||||||
theme[process_end]="brightGreen"
|
# theme[process_end]="brightGreen"
|
||||||
'';
|
# '';
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,15 +10,17 @@ in
|
||||||
config = mkIf config.modules.shell.toolset.starship.enable {
|
config = mkIf config.modules.shell.toolset.starship.enable {
|
||||||
hm.programs.starship = {
|
hm.programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = let
|
||||||
|
inherit (config.lib.stylix.colors) cyan red magenta yellow green blue;
|
||||||
|
in {
|
||||||
scan_timeout = 10;
|
scan_timeout = 10;
|
||||||
add_newline = true;
|
add_newline = true;
|
||||||
line_break.disabled = true;
|
line_break.disabled = true;
|
||||||
|
|
||||||
format = "$username$hostname$nix_shell$git_branch$git_commit$git_state$git_status$directory$jobs$cmd_duration$character";
|
format = "$username$hostname$nix_shell$git_branch$git_commit$git_state$git_status$directory$jobs$cmd_duration$character";
|
||||||
username = {
|
username = {
|
||||||
style_user = "blue bold";
|
style_user = "${cyan} bold";
|
||||||
style_root = "red bold";
|
style_root = "${red} bold";
|
||||||
format = "[$user]($style) ";
|
format = "[$user]($style) ";
|
||||||
disabled = false;
|
disabled = false;
|
||||||
show_always = true;
|
show_always = true;
|
||||||
|
@ -27,7 +29,7 @@ in
|
||||||
hostname = {
|
hostname = {
|
||||||
ssh_only = false;
|
ssh_only = false;
|
||||||
ssh_symbol = "🌐 ";
|
ssh_symbol = "🌐 ";
|
||||||
format = "on [$hostname](bold red) ";
|
format = "on [$hostname](bold ${red}) ";
|
||||||
trim_at = ".local";
|
trim_at = ".local";
|
||||||
disabled = false;
|
disabled = false;
|
||||||
};
|
};
|
||||||
|
@ -35,28 +37,28 @@ in
|
||||||
nix_shell = {
|
nix_shell = {
|
||||||
symbol = " ";
|
symbol = " ";
|
||||||
format = "[$symbol$name]($style) ";
|
format = "[$symbol$name]($style) ";
|
||||||
style = "magenta bold";
|
style = "${magenta} bold";
|
||||||
};
|
};
|
||||||
|
|
||||||
git_branch = {
|
git_branch = {
|
||||||
only_attached = true;
|
only_attached = true;
|
||||||
format = "[$symbol$branch]($style) ";
|
format = "[$symbol$branch]($style) ";
|
||||||
symbol = "שׂ";
|
symbol = "שׂ";
|
||||||
style = "brightYellow bold";
|
style = "${yellow} bold";
|
||||||
};
|
};
|
||||||
|
|
||||||
git_commit = {
|
git_commit = {
|
||||||
only_detached = true;
|
only_detached = true;
|
||||||
format = "[ﰖ$hash]($style) ";
|
format = "[ﰖ$hash]($style) ";
|
||||||
style = "brightYellow bold";
|
style = "${yellow} bold";
|
||||||
};
|
};
|
||||||
|
|
||||||
git_state = {
|
git_state = {
|
||||||
style = "brightMagenta bold";
|
style = "${magenta} bold";
|
||||||
};
|
};
|
||||||
|
|
||||||
git_status = {
|
git_status = {
|
||||||
style = "brightGreen bold";
|
style = "${green} bold";
|
||||||
};
|
};
|
||||||
|
|
||||||
directory = {
|
directory = {
|
||||||
|
@ -66,16 +68,16 @@ in
|
||||||
|
|
||||||
cmd_duration = {
|
cmd_duration = {
|
||||||
format = "[$duration]($style) ";
|
format = "[$duration]($style) ";
|
||||||
style = "brightBlue";
|
style = "${blue}";
|
||||||
};
|
};
|
||||||
|
|
||||||
jobs = {
|
jobs = {
|
||||||
style = "brightGreen bold";
|
style = "${green} bold";
|
||||||
};
|
};
|
||||||
|
|
||||||
character = {
|
character = {
|
||||||
success_symbol = "[\\$](brightGreen} bold)";
|
success_symbol = "[\\$](${green}} bold)";
|
||||||
error_symbol = "[\\$](brightRed bold)";
|
error_symbol = "[\\$](${red} bold)";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -85,78 +85,78 @@ in
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
syntaxHighlighting = let
|
# syntaxHighlighting = let
|
||||||
inherit (config.modules.themes) active;
|
# inherit (config.modules.themes) active;
|
||||||
in
|
# in
|
||||||
mkIf (active != null) {
|
# mkIf (active != null) {
|
||||||
enable = true;
|
# enable = true;
|
||||||
highlighters = ["main" "brackets" "pattern" "cursor" "regexp" "root" "line"];
|
# highlighters = ["main" "brackets" "pattern" "cursor" "regexp" "root" "line"];
|
||||||
patterns = {
|
# patterns = {
|
||||||
"sudo " = "fg=red,bold";
|
# "sudo " = "fg=red,bold";
|
||||||
"rm -rf *" = "fg=red,bold";
|
# "rm -rf *" = "fg=red,bold";
|
||||||
};
|
# };
|
||||||
styles = {
|
# styles = {
|
||||||
# -------===[ Comments ]===------- #
|
# # -------===[ Comments ]===------- #
|
||||||
comment = "fg=black";
|
# comment = "fg=black";
|
||||||
|
#
|
||||||
# -------===[ Functions/Methods ]===------- #
|
# # -------===[ Functions/Methods ]===------- #
|
||||||
alias = "fg=magenta";
|
# alias = "fg=magenta";
|
||||||
"suffix-alias" = "fg=magenta";
|
# "suffix-alias" = "fg=magenta";
|
||||||
"global-alias" = "fg=magenta";
|
# "global-alias" = "fg=magenta";
|
||||||
function = "fg=blue";
|
# function = "fg=blue";
|
||||||
command = "fg=green";
|
# command = "fg=green";
|
||||||
precommand = "fg=green,italic";
|
# precommand = "fg=green,italic";
|
||||||
autodirectory = "fg=yellow,italic";
|
# autodirectory = "fg=yellow,italic";
|
||||||
"single-hyphen-option" = "fg=yellow";
|
# "single-hyphen-option" = "fg=yellow";
|
||||||
"double-hyphen-option" = "fg=yellow";
|
# "double-hyphen-option" = "fg=yellow";
|
||||||
"back-quoted-argument" = "fg=magenta";
|
# "back-quoted-argument" = "fg=magenta";
|
||||||
|
#
|
||||||
# -------===[ Built-ins ]===------- #
|
# # -------===[ Built-ins ]===------- #
|
||||||
builtin = "fg=blue";
|
# builtin = "fg=blue";
|
||||||
"reserved-word" = "fg=green";
|
# "reserved-word" = "fg=green";
|
||||||
"hashed-command" = "fg=green";
|
# "hashed-command" = "fg=green";
|
||||||
|
#
|
||||||
# -------===[ Punctuation ]===------- #
|
# # -------===[ Punctuation ]===------- #
|
||||||
commandseparator = "fg=brightRed";
|
# commandseparator = "fg=brightRed";
|
||||||
"command-substitution-delimiter" = "fg=border";
|
# "command-substitution-delimiter" = "fg=border";
|
||||||
"command-substitution-delimiter-unquoted" = "fg=border";
|
# "command-substitution-delimiter-unquoted" = "fg=border";
|
||||||
"process-substitution-delimiter" = "fg=border";
|
# "process-substitution-delimiter" = "fg=border";
|
||||||
"back-quoted-argument-delimiter" = "fg=brightRed";
|
# "back-quoted-argument-delimiter" = "fg=brightRed";
|
||||||
"back-double-quoted-argument" = "fg=brightRed";
|
# "back-double-quoted-argument" = "fg=brightRed";
|
||||||
"back-dollar-quoted-argument" = "fg=brightRed";
|
# "back-dollar-quoted-argument" = "fg=brightRed";
|
||||||
|
#
|
||||||
# -------===[ Strings ]===------- #
|
# # -------===[ Strings ]===------- #
|
||||||
"command-substitution-quoted" = "fg=brightYellow";
|
# "command-substitution-quoted" = "fg=brightYellow";
|
||||||
"command-substitution-delimiter-quoted" = "fg=brightYellow";
|
# "command-substitution-delimiter-quoted" = "fg=brightYellow";
|
||||||
"single-quoted-argument" = "fg=brightYellow";
|
# "single-quoted-argument" = "fg=brightYellow";
|
||||||
"single-quoted-argument-unclosed" = "fg=red";
|
# "single-quoted-argument-unclosed" = "fg=red";
|
||||||
"double-quoted-argument" = "fg=brightYellow";
|
# "double-quoted-argument" = "fg=brightYellow";
|
||||||
"double-quoted-argument-unclosed" = "fg=red";
|
# "double-quoted-argument-unclosed" = "fg=red";
|
||||||
"rc-quote" = "fg=brightYellow";
|
# "rc-quote" = "fg=brightYellow";
|
||||||
|
#
|
||||||
# -------===[ Variables ]===------- #
|
# # -------===[ Variables ]===------- #
|
||||||
"dollar-quoted-argument" = "fg=highlight";
|
# "dollar-quoted-argument" = "fg=highlight";
|
||||||
"dollar-quoted-argument-unclosed" = "fg=brightRed";
|
# "dollar-quoted-argument-unclosed" = "fg=brightRed";
|
||||||
"dollar-double-quoted-argument" = "fg=highlight";
|
# "dollar-double-quoted-argument" = "fg=highlight";
|
||||||
assign = "fg=highlight";
|
# assign = "fg=highlight";
|
||||||
"named-fd" = "fg=highlight";
|
# "named-fd" = "fg=highlight";
|
||||||
"numeric-fd" = "fg=highlight";
|
# "numeric-fd" = "fg=highlight";
|
||||||
|
#
|
||||||
# -------===[ Non-Exclusive ]===------- #
|
# # -------===[ Non-Exclusive ]===------- #
|
||||||
"unknown-token" = "fg=red";
|
# "unknown-token" = "fg=red";
|
||||||
path = "fg=highlight,underline";
|
# path = "fg=highlight,underline";
|
||||||
path_pathseparator = "fg=brightRed,underline";
|
# path_pathseparator = "fg=brightRed,underline";
|
||||||
path_prefix = "fg=highlight,underline";
|
# path_prefix = "fg=highlight,underline";
|
||||||
path_prefix_pathseparator = "fg=brightRed,underline";
|
# path_prefix_pathseparator = "fg=brightRed,underline";
|
||||||
globbing = "fg=highlight";
|
# globbing = "fg=highlight";
|
||||||
"history-expansion" = "fg=magenta";
|
# "history-expansion" = "fg=magenta";
|
||||||
"back-quoted-argument-unclosed" = "fg=red";
|
# "back-quoted-argument-unclosed" = "fg=red";
|
||||||
redirection = "fg=highlight";
|
# redirection = "fg=highlight";
|
||||||
arg0 = "fg=highlight";
|
# arg0 = "fg=highlight";
|
||||||
default = "fg=highlight";
|
# default = "fg=highlight";
|
||||||
cursor = "fg=highlight";
|
# cursor = "fg=highlight";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
|
|
||||||
create.configFile.zsh-abbreviations = {
|
create.configFile.zsh-abbreviations = {
|
||||||
|
|
|
@ -10,138 +10,54 @@ let
|
||||||
desktop = config.modules.desktop;
|
desktop = config.modules.desktop;
|
||||||
in {
|
in {
|
||||||
options.modules.themes = let
|
options.modules.themes = let
|
||||||
inherit (lib.options) mkOption mkPackageOption;
|
inherit (lib.options) mkOption mkEnableOption;
|
||||||
inherit (lib.types) attrsOf int lines listOf nullOr path package str;
|
inherit (lib.types) nullOr enum;
|
||||||
inherit (lib.my) mkOpt toFilteredImage;
|
|
||||||
in {
|
in {
|
||||||
active = mkOption {
|
enable = mkEnableOption "Theming (Stylix)";
|
||||||
type = nullOr str;
|
|
||||||
default = null;
|
theme = mkOption {
|
||||||
apply = v: let
|
type = nullOr (enum [ "everforest" "catppuccin-latte" "chalk" ]);
|
||||||
theme = getEnv "THEME";
|
default = "everforest";
|
||||||
in
|
description = "The theme to set the system to";
|
||||||
if theme != ""
|
example = "everforest";
|
||||||
then theme
|
|
||||||
else v;
|
|
||||||
description = ''
|
|
||||||
Name of the theme which ought to be applied.
|
|
||||||
Can be overridden by the `THEME` environment variable.
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
wallpaper = mkOpt (nullOr path) null;
|
polarity = mkOption {
|
||||||
|
type = nullOr (enum [ "dark" "light" ]);
|
||||||
loginWallpaper = mkOpt (nullOr path) (
|
default = "dark";
|
||||||
if cfg.wallpaper != null
|
description = "determine if system is in dark or light mode";
|
||||||
then toFilteredImage cfg.wallpaper "-gaussian-blur 0x2 -modulate 70 -level 5%"
|
|
||||||
else null
|
|
||||||
);
|
|
||||||
|
|
||||||
gtk = {
|
|
||||||
name = mkOpt str "";
|
|
||||||
package = mkPackageOption pkgs "gtk" {};
|
|
||||||
};
|
|
||||||
|
|
||||||
iconTheme = {
|
|
||||||
name = mkOpt str "";
|
|
||||||
package = mkPackageOption pkgs "icon" {};
|
|
||||||
};
|
|
||||||
|
|
||||||
pointer = {
|
|
||||||
name = mkOpt str "";
|
|
||||||
package = mkPackageOption pkgs "pointer" {};
|
|
||||||
size = mkOpt int 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
onReload = mkOpt (attrsOf lines) {};
|
|
||||||
|
|
||||||
fontConfig = {
|
|
||||||
packages = mkOpt (listOf package) [];
|
|
||||||
mono = mkOpt (listOf str) [""];
|
|
||||||
sans = mkOpt (listOf str) [""];
|
|
||||||
emoji = mkOpt (listOf str) [""];
|
|
||||||
};
|
|
||||||
|
|
||||||
font = {
|
|
||||||
mono = {
|
|
||||||
family = mkOpt str "";
|
|
||||||
weight = mkOpt str "Bold";
|
|
||||||
weightAlt = mkOpt str "Bold";
|
|
||||||
weightNum = mkOpt int 700;
|
|
||||||
size = mkOpt int 13;
|
|
||||||
};
|
|
||||||
sans = {
|
|
||||||
family = mkOpt str "";
|
|
||||||
weight = mkOpt str "SemiBold";
|
|
||||||
weightAlt = mkOpt str "DemiBold";
|
|
||||||
weightNum = mkOpt int 600;
|
|
||||||
size = mkOpt int 10;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
colors = {
|
config = mkIf (cfg.enable) {
|
||||||
main = {
|
stylix = {
|
||||||
normal = {
|
enable = true;
|
||||||
black = mkOpt str "#000000"; # 0
|
|
||||||
red = mkOpt str "#FF0000"; # 1
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/${cfg.theme}.yaml";
|
||||||
green = mkOpt str "#00FF00"; # 2
|
image = ./${cfg.theme}.jpg;
|
||||||
yellow = mkOpt str "#FFFF00"; # 3
|
polarity = cfg.polarity;
|
||||||
blue = mkOpt str "#0000FF"; # 4
|
|
||||||
magenta = mkOpt str "#FF00FF"; # 5
|
fonts = {
|
||||||
cyan = mkOpt str "#00FFFF"; # 6
|
serif = {
|
||||||
white = mkOpt str "#BBBBBB"; # 7
|
package = pkgs.dejavu_fonts;
|
||||||
};
|
name = "DejaVu Serif";
|
||||||
bright = {
|
|
||||||
black = mkOpt str "#888888"; # 8
|
|
||||||
red = mkOpt str "#FF8800"; # 9
|
|
||||||
green = mkOpt str "#00FF80"; # 10
|
|
||||||
yellow = mkOpt str "#FF8800"; # 11
|
|
||||||
blue = mkOpt str "#0088FF"; # 12
|
|
||||||
magenta = mkOpt str "#FF88FF"; # 13
|
|
||||||
cyan = mkOpt str "#88FFFF"; # 14
|
|
||||||
white = mkOpt str "#FFFFFF"; # 15
|
|
||||||
};
|
|
||||||
types = let
|
|
||||||
inherit (cfg.colors.main.normal) black red white yellow;
|
|
||||||
inherit (cfg.colors.main.types) bg fg;
|
|
||||||
in {
|
|
||||||
bg = mkOpt str black;
|
|
||||||
fg = mkOpt str white;
|
|
||||||
panelbg = mkOpt str bg;
|
|
||||||
panelfg = mkOpt str fg;
|
|
||||||
border = mkOpt str bg;
|
|
||||||
error = mkOpt str red;
|
|
||||||
warning = mkOpt str yellow;
|
|
||||||
highlight = mkOpt str white;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
rofi = {
|
sansSerif = {
|
||||||
bg = {
|
package = pkgs.dejavu_fonts;
|
||||||
main = mkOpt str "#FFFFFF";
|
name = "DejaVu Sans";
|
||||||
alt = mkOpt str "#FFFFFF";
|
|
||||||
bar = mkOpt str "#FFFFFF";
|
|
||||||
};
|
|
||||||
fg = mkOpt str "#FFFFFF";
|
|
||||||
ribbon = {
|
|
||||||
outer = mkOpt str "#FFFFFF";
|
|
||||||
inner = mkOpt str "#FFFFFF";
|
|
||||||
};
|
|
||||||
selected = mkOpt str "#FFFFFF";
|
|
||||||
urgent = mkOpt str "#FFFFFF";
|
|
||||||
transparent = mkOpt str "#FFFFFF";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
editor = {
|
monospace = {
|
||||||
neovim = {
|
package = pkgs.dejavu_fonts;
|
||||||
light = mkOpt str "";
|
name = "DejaVu Sans Mono";
|
||||||
dark = mkOpt str "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf (cfg.active != null) (mkMerge [
|
emoji = {
|
||||||
(mkIf (desktop.type == "wayland") (mkMerge []))
|
package = pkgs.noto-fonts-emoji;
|
||||||
]);
|
name = "Noto Color Emoji";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Before Width: | Height: | Size: 183 KiB After Width: | Height: | Size: 183 KiB |
|
@ -1,135 +0,0 @@
|
||||||
{ config, options, lib, pkgs, ... }:
|
|
||||||
let
|
|
||||||
inherit (builtins) toString readFile;
|
|
||||||
inherit (lib.attrsets) attrValues;
|
|
||||||
inherit (lib.modules) mkDefault mkIf mkMerge;
|
|
||||||
inherit (lib.strings) concatMapStringsSep;
|
|
||||||
|
|
||||||
cfg = config.modules.themes;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
config = mkIf (cfg.active == "everforest")
|
|
||||||
{
|
|
||||||
stylix = {
|
|
||||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/everforest.yaml";
|
|
||||||
image = ./assets/wallpaper.jpg;
|
|
||||||
polarity = "dark";
|
|
||||||
|
|
||||||
fonts = {
|
|
||||||
serif = {
|
|
||||||
package = pkgs.dejavu_fonts;
|
|
||||||
name = "DejaVu Serif";
|
|
||||||
};
|
|
||||||
|
|
||||||
sansSerif = {
|
|
||||||
package = pkgs.dejavu_fonts;
|
|
||||||
name = "DejaVu Sans";
|
|
||||||
};
|
|
||||||
|
|
||||||
monospace = {
|
|
||||||
package = pkgs.dejavu_fonts;
|
|
||||||
name = "DejaVu Sans Mono";
|
|
||||||
};
|
|
||||||
|
|
||||||
emoji = {
|
|
||||||
package = pkgs.noto-fonts-emoji;
|
|
||||||
name = "Noto Color Emoji";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# modules.themes = {
|
|
||||||
# wallpaper = mkDefault ./assets/wallpaper.jpg;
|
|
||||||
#
|
|
||||||
# gtk = {
|
|
||||||
# name = "Everforest-Dark-BL";
|
|
||||||
# package = pkgs.my.everforest-gtk;
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# iconTheme = {
|
|
||||||
# name = "everforest-dark";
|
|
||||||
# package = pkgs.fluent-icon-theme.override {
|
|
||||||
# colorVariants = [];
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# pointer = {
|
|
||||||
# name = "Bibata-Modern-Classic";
|
|
||||||
# package = pkgs.bibata-cursors;
|
|
||||||
# size = 24;
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# fontConfig = {
|
|
||||||
# packages = attrValues {
|
|
||||||
# inherit (pkgs) noto-fonts-emoji sarasa-gothic;
|
|
||||||
# google-fonts = pkgs.google-fonts.override {fonts = ["Cardo"];};
|
|
||||||
# nerdfonts =
|
|
||||||
# pkgs.nerdfonts.override {fonts = ["CascadiaCode" "VictorMono"];};
|
|
||||||
# };
|
|
||||||
# mono = ["VictorMono Nerd Font" "Sarasa Mono SC"];
|
|
||||||
# sans = ["Caskaydia Cove Nerd Font" "Sarasa Gothic SC"];
|
|
||||||
# emoji = ["Noto Color Emoji"];
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# font = {
|
|
||||||
# mono.family = "VictorMono Nerd Font";
|
|
||||||
# sans.family = "CaskaydiaCove Nerd Font";
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# colors = {
|
|
||||||
# main = {
|
|
||||||
# normal = {
|
|
||||||
# black = "#15161e";
|
|
||||||
# red = "#f7768e";
|
|
||||||
# green = "#9ece6a";
|
|
||||||
# yellow = "#e0af68";
|
|
||||||
# blue = "#7aa2f7";
|
|
||||||
# magenta = "#bb9af7";
|
|
||||||
# cyan = "#7dcfff";
|
|
||||||
# white = "#a9b1d6";
|
|
||||||
# };
|
|
||||||
# bright = {
|
|
||||||
# black = "#414868";
|
|
||||||
# red = "#f7768e";
|
|
||||||
# green = "#9ece6a";
|
|
||||||
# yellow = "#e0af68";
|
|
||||||
# blue = "#7aa2f7";
|
|
||||||
# magenta = "#bb9af7";
|
|
||||||
# cyan = "#7dcfff";
|
|
||||||
# white = "#c0caf5";
|
|
||||||
# };
|
|
||||||
# types = {
|
|
||||||
# fg = "#c0caf5";
|
|
||||||
# bg = "#1a1b26";
|
|
||||||
# panelbg = "#ff9e64";
|
|
||||||
# border = "#1abc9c";
|
|
||||||
# highlight = "#3d59a1";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# rofi = {
|
|
||||||
# bg = {
|
|
||||||
# main = "hsla(235, 18%, 12%, 1)";
|
|
||||||
# alt = "hsla(235, 18%, 12%, 0)";
|
|
||||||
# bar = "hsla(229, 24%, 18%, 1)";
|
|
||||||
# };
|
|
||||||
# fg = "hsla(228, 72%, 85%, 1)";
|
|
||||||
# ribbon = {
|
|
||||||
# outer = "hsla(188, 68%, 27%, 1)";
|
|
||||||
# inner = "hsla(202, 76%, 24%, 1)";
|
|
||||||
# };
|
|
||||||
# selected = "hsla(220, 88%, 72%, 1)";
|
|
||||||
# urgent = "hsl(349, 89%, 72%, 1)";
|
|
||||||
# transparent = "hsla(0, 0%, 0%, 0)";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# editor = {
|
|
||||||
# neovim = {
|
|
||||||
# dark = "everforest";
|
|
||||||
# light = "everforest";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue