mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2026-04-23 21:18:57 +00:00
Compare commits
5 Commits
3b5045660c
...
050b84ef6b
| Author | SHA1 | Date | |
|---|---|---|---|
|
050b84ef6b
|
|||
|
2a73833ca7
|
|||
|
667469c0ce
|
|||
|
ced84cf07a
|
|||
|
25b9f6cebf
|
6
flake.lock
generated
6
flake.lock
generated
@@ -220,11 +220,11 @@
|
|||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713978374,
|
"lastModified": 1714402324,
|
||||||
"narHash": "sha256-6hsDcW5Ke1429SFjRgDNhmaOhdxDLteMeHXdz0Petqo=",
|
"narHash": "sha256-VVT4K/r7REVT1g/UF7xgpCuR9h61q9KG1KW1BbbT7YA=",
|
||||||
"owner": "Theaninova",
|
"owner": "Theaninova",
|
||||||
"repo": "matugen",
|
"repo": "matugen",
|
||||||
"rev": "c50741a6432ac5ed1719737fc96051d2da878057",
|
"rev": "6bbb7a6e8047f27c35f6c69b8de1c3a59b87b6cd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -49,7 +49,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
theming.matugen.enable = true;
|
theming.md3-evo.enable = true;
|
||||||
shell.components = {
|
shell.components = {
|
||||||
waybar.enable = true;
|
waybar.enable = true;
|
||||||
dunst.enable = true;
|
dunst.enable = true;
|
||||||
|
|||||||
@@ -13,9 +13,6 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
variables = [ "--all" ];
|
variables = [ "--all" ];
|
||||||
};
|
};
|
||||||
extraConfig = ''
|
|
||||||
source=./theme.conf
|
|
||||||
'';
|
|
||||||
settings = {
|
settings = {
|
||||||
env = [
|
env = [
|
||||||
"XDG_SESSION_TYPE,wayland"
|
"XDG_SESSION_TYPE,wayland"
|
||||||
@@ -26,16 +23,10 @@
|
|||||||
exec-once = [
|
exec-once = [
|
||||||
"gnome-keyring-daemon --start --components=secrets"
|
"gnome-keyring-daemon --start --components=secrets"
|
||||||
"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"
|
"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"
|
||||||
"${pkgs.swww}/bin/swww-daemon"
|
|
||||||
"theme init"
|
|
||||||
];
|
];
|
||||||
general = {
|
general = {
|
||||||
layout = "master";
|
layout = "master";
|
||||||
resize_on_border = true;
|
resize_on_border = true;
|
||||||
extend_border_grab_area = 4;
|
|
||||||
border_size = 1;
|
|
||||||
gaps_in = 12;
|
|
||||||
gaps_out = 24;
|
|
||||||
};
|
};
|
||||||
master = {
|
master = {
|
||||||
orientation = "center";
|
orientation = "center";
|
||||||
@@ -100,21 +91,9 @@
|
|||||||
"ignorealpha 0.3, anyrun"
|
"ignorealpha 0.3, anyrun"
|
||||||
];
|
];
|
||||||
decoration = {
|
decoration = {
|
||||||
rounding = 24;
|
|
||||||
drop_shadow = "yes";
|
drop_shadow = "yes";
|
||||||
shadow_range = 16;
|
shadow_range = 16;
|
||||||
"col.shadow" = "rgba(00000044)";
|
"col.shadow" = "rgba(00000044)";
|
||||||
|
|
||||||
dim_inactive = false;
|
|
||||||
|
|
||||||
blur = {
|
|
||||||
enabled = true;
|
|
||||||
size = 8;
|
|
||||||
passes = 3;
|
|
||||||
noise = 1.0e-2;
|
|
||||||
contrast = 0.9;
|
|
||||||
brightness = 0.8;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
animations = {
|
animations = {
|
||||||
enabled = "yes";
|
enabled = "yes";
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
/* https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/named-colors.html */
|
|
||||||
/* TODO */
|
|
||||||
|
|
||||||
/*@define-color window_bg_color rgba(239, 241, 245, 0.8);
|
|
||||||
@define-color window_fg_color #4c4f69;
|
|
||||||
@define-color view_bg_color @window_fg_color;
|
|
||||||
@define-color view_fg_color @window_fg_color;
|
|
||||||
@define-color accent_bg_color #1e66f5;
|
|
||||||
@define-color accent_color @accent_bg_color;
|
|
||||||
@define-color headerbar_bg_color @window_bg_color;
|
|
||||||
@define-color headerbar_fg_color @window_fg_color;
|
|
||||||
@define-color popover_bg_color #252525;
|
|
||||||
@define-color popover_fg_color @view_fg_color;
|
|
||||||
@define-color dialog_bg_color @popover_bg_color;
|
|
||||||
@define-color dialog_fg_color @popover_fg_color;
|
|
||||||
@define-color card_bg_color rgba(140, 143, 161, 0.08);
|
|
||||||
@define-color card_fg_color @window_fg_color;
|
|
||||||
|
|
||||||
@define-color headerbar_bg_color rgba(239, 241, 245, 0.8);*/
|
|
||||||
@@ -8,7 +8,6 @@
|
|||||||
font_size 13
|
font_size 13
|
||||||
'';
|
'';
|
||||||
settings = {
|
settings = {
|
||||||
background_opacity = "0.8";
|
|
||||||
window_padding_width = 10;
|
window_padding_width = 10;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,8 @@
|
|||||||
|
|
||||||
# chat apps
|
# chat apps
|
||||||
threema-desktop
|
threema-desktop
|
||||||
(vesktop.override { withSystemVencord = false; })
|
vesktop
|
||||||
|
discord
|
||||||
element-desktop
|
element-desktop
|
||||||
|
|
||||||
# office
|
# office
|
||||||
|
|||||||
@@ -4,15 +4,6 @@
|
|||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
|
|
||||||
colorscheme = "matugen";
|
|
||||||
autoCmd = [
|
|
||||||
{
|
|
||||||
event = [ "Signal" ];
|
|
||||||
pattern = [ "SIGUSR1" ];
|
|
||||||
command = "colorscheme matugen";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
opts = {
|
opts = {
|
||||||
number = true;
|
number = true;
|
||||||
relativenumber = true;
|
relativenumber = true;
|
||||||
@@ -31,8 +22,6 @@
|
|||||||
|
|
||||||
scrolloff = 12;
|
scrolloff = 12;
|
||||||
|
|
||||||
termguicolors = true;
|
|
||||||
|
|
||||||
hlsearch = false;
|
hlsearch = false;
|
||||||
incsearch = true;
|
incsearch = true;
|
||||||
|
|
||||||
@@ -55,14 +44,6 @@
|
|||||||
mergetool_layout = "mr";
|
mergetool_layout = "mr";
|
||||||
mergetool_prefer_revision = "local";
|
mergetool_prefer_revision = "local";
|
||||||
|
|
||||||
neovide_transparency = 0.8;
|
|
||||||
neovide_padding_top = 10;
|
|
||||||
neovide_padding_bottom = 10;
|
|
||||||
neovide_padding_left = 10;
|
|
||||||
neovide_padding_right = 10;
|
|
||||||
neovide_floating_blur_amount_x = 10;
|
|
||||||
neovide_floating_blur_amount_y = 10;
|
|
||||||
neovide_floating_shadow = false;
|
|
||||||
neovide_cursor_vfx_mode = "pixiedust";
|
neovide_cursor_vfx_mode = "pixiedust";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,47 +0,0 @@
|
|||||||
/**
|
|
||||||
* @name Matugen
|
|
||||||
* @author Theaninova
|
|
||||||
* @version 6.9.0
|
|
||||||
* @description reactive material theme
|
|
||||||
*/
|
|
||||||
|
|
||||||
@import url(https://mwittrien.github.io/BetterDiscordAddons/Themes/BasicBackground/BasicBackground.css);
|
|
||||||
|
|
||||||
:root {
|
|
||||||
--transparencycolor: {{colors.surface.default.red}}, {{colors.surface.default.green}}, {{colors.surface.default.blue}};
|
|
||||||
--transparencyalpha: 0.8;
|
|
||||||
--messagetransparency: 0;
|
|
||||||
--guildchanneltransparency: 0;
|
|
||||||
--chatinputtransparency: 0;
|
|
||||||
--memberlisttransparency: 0;
|
|
||||||
--accentcolor: {{colors.surface_variant.default.red}}, {{colors.surface_variant.default.green}}, {{colors.surface_variant.default.blue}};
|
|
||||||
|
|
||||||
--settingsicons: 1;
|
|
||||||
--font: "NotoSans Nerd Font";
|
|
||||||
--textshadow: transparent;
|
|
||||||
|
|
||||||
--background: transparent;
|
|
||||||
--backgroundposition: center;
|
|
||||||
--backgroundsize: cover;
|
|
||||||
--backgroundblur: 0;
|
|
||||||
|
|
||||||
--popout: var(--background);
|
|
||||||
--popoutposition: var(--backgroundposition);
|
|
||||||
--popoutsize: var(--backgroundsize);
|
|
||||||
--popoutblur: var(--backgroundblur);
|
|
||||||
|
|
||||||
--backdrop: rgba({{colors.surface.default.red}}, {{colors.surface.default.green}}, {{colors.surface.default.blue}}, 0.8);
|
|
||||||
--backdropposition: center;
|
|
||||||
--backdropsize: cover: --backdropblur: 0;
|
|
||||||
|
|
||||||
--textbrightest: {{colors.primary.default.red}}, {{colors.primary.default.green}}, {{colors.primary.default.blue}};
|
|
||||||
--textbrighter: {{colors.on_surface.default.red}}, {{colors.on_surface.default.green}}, {{colors.on_surface.default.blue}};
|
|
||||||
--textbright: {{colors.tertiary.default.red}}, {{colors.tertiary.default.green}}, {{colors.tertiary.default.blue}};
|
|
||||||
--textdark: {{colors.on_surface_variant.default.red}}, {{colors.on_surface_variant.default.green}}, {{colors.on_surface_variant.default.blue}};
|
|
||||||
--textdarker: {{colors.secondary.default.red}}, {{colors.secondary.default.green}}, {{colors.secondary.default.blue}};
|
|
||||||
--textdarkest: {{colors.outline.default.red}}, {{colors.outline.default.green}}, {{colors.outline.default.blue}};
|
|
||||||
|
|
||||||
--text-link: {{colors.primary.default.red}}, {{colors.primary.default.green}}, {{colors.primary.default.blue}};
|
|
||||||
|
|
||||||
--version1_0_5: none; /* DO NOT CHANGE THIS VARIABLE , USED TO HIDE UPDATE NOTICE */
|
|
||||||
}
|
|
||||||
@@ -5,79 +5,43 @@
|
|||||||
* @description reactive material theme
|
* @description reactive material theme
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@import url("https://clearvision.github.io/ClearVision-v6/main.css");
|
@import url(https://mwittrien.github.io/BetterDiscordAddons/Themes/BasicBackground/BasicBackground.css);
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--text-normal: {{colors.on_surface.default.hex}};
|
--transparencycolor: {{colors.surface.default.red}}, {{colors.surface.default.green}}, {{colors.surface.default.blue}};
|
||||||
--main-color: {{colors.primary.default.hex}};
|
--transparencyalpha: 0.8;
|
||||||
--hover-color: {{colors.tertiary.default.hex}};
|
--messagetransparency: 0;
|
||||||
--success-color: {{colors.ok.default.hex}};
|
--guildchanneltransparency: 0;
|
||||||
--danger-color: {{colors.error.default.hex}};
|
--chatinputtransparency: 0;
|
||||||
--url-color: var(--main-color);
|
--memberlisttransparency: 0;
|
||||||
--background-image: transparent;
|
--accentcolor: {{colors.surface_variant.default.red}}, {{colors.surface_variant.default.green}}, {{colors.surface_variant.default.blue}};
|
||||||
--background-shading: 0%;
|
|
||||||
--background-position: center;
|
--settingsicons: 1;
|
||||||
--background-size: cover;
|
--font: "NotoSans Nerd Font";
|
||||||
--background-repeat: no-repeat;
|
--textshadow: transparent;
|
||||||
--background-attachment: fixed;
|
|
||||||
--background-brightness: 100%;
|
--background: transparent;
|
||||||
--background-contrast: 100%;
|
--backgroundposition: center;
|
||||||
--background-saturation: 100%;
|
--backgroundsize: cover;
|
||||||
--background-grayscale: 0%;
|
--backgroundblur: 0;
|
||||||
--background-invert: 0%;
|
|
||||||
--background-blur: 0px;
|
--popout: var(--background);
|
||||||
--background-overlay: rgba({{colors.surface.default.red}}, {{colors.surface.default.green}}, {{colors.surface.default.blue}}, 0.8);
|
--popoutposition: var(--backgroundposition);
|
||||||
--user-popout-image: url("https://clearvision.github.io/images/sapphire.jpg");
|
--popoutsize: var(--backgroundsize);
|
||||||
--user-popout-position: center;
|
--popoutblur: var(--backgroundblur);
|
||||||
--user-popout-size: cover;
|
|
||||||
--user-popout-repeat: no-repeat;
|
--backdrop: rgba({{colors.surface.default.red}}, {{colors.surface.default.green}}, {{colors.surface.default.blue}}, 0.8);
|
||||||
--user-popout-attachment: fixed;
|
--backdropposition: center;
|
||||||
--user-popout-brightness: 100%;
|
--backdropsize: cover: --backdropblur: 0;
|
||||||
--user-popout-contrast: 100%;
|
|
||||||
--user-popout-saturation: 100%;
|
--textbrightest: {{colors.primary.default.red}}, {{colors.primary.default.green}}, {{colors.primary.default.blue}};
|
||||||
--user-popout-grayscale: 0%;
|
--textbrighter: {{colors.on_surface.default.red}}, {{colors.on_surface.default.green}}, {{colors.on_surface.default.blue}};
|
||||||
--user-popout-invert: 0%;
|
--textbright: {{colors.tertiary.default.red}}, {{colors.tertiary.default.green}}, {{colors.tertiary.default.blue}};
|
||||||
--user-popout-blur: 3px;
|
--textdark: {{colors.on_surface_variant.default.red}}, {{colors.on_surface_variant.default.green}}, {{colors.on_surface_variant.default.blue}};
|
||||||
--user-modal-image: url("https://clearvision.github.io/images/sapphire.jpg");
|
--textdarker: {{colors.secondary.default.red}}, {{colors.secondary.default.green}}, {{colors.secondary.default.blue}};
|
||||||
--user-modal-position: center;
|
--textdarkest: {{colors.outline.default.red}}, {{colors.outline.default.green}}, {{colors.outline.default.blue}};
|
||||||
--user-modal-size: cover;
|
|
||||||
--user-modal-repeat: no-repeat;
|
--text-link: {{colors.primary.default.red}}, {{colors.primary.default.green}}, {{colors.primary.default.blue}};
|
||||||
--user-modal-attachment: fixed;
|
|
||||||
--user-modal-brightness: 100%;
|
--version1_0_5: none; /* DO NOT CHANGE THIS VARIABLE , USED TO HIDE UPDATE NOTICE */
|
||||||
--user-modal-contrast: 100%;
|
|
||||||
--user-modal-saturation: 100%;
|
|
||||||
--user-modal-grayscale: 0%;
|
|
||||||
--user-modal-invert: 0%;
|
|
||||||
--user-modal-blur: 3px;
|
|
||||||
--home-icon: url("https://clearvision.github.io/icons/discord.svg");
|
|
||||||
--home-position: center;
|
|
||||||
--home-size: 40px;
|
|
||||||
--channel-unread: var(--main-color);
|
|
||||||
--channel-color: {{colors.on_surface.default.hex}};
|
|
||||||
--muted-color: {{colors.outline.default.hex}};
|
|
||||||
--online-color: {{colors.green.default.hex}};
|
|
||||||
--idle-color: {{colors.yellow.default.hex}};
|
|
||||||
--dnd-color: {{colors.red.default.hex}};
|
|
||||||
--streaming-color: {{colors.magenta.default.hex}};
|
|
||||||
--offline-color: {{colors.outline.default.hex}};
|
|
||||||
--main-font: NotoSans Nerd Font;
|
|
||||||
--code-font: FiraCode Nerd Font;
|
|
||||||
--channels-width: 220px;
|
|
||||||
--members-width: 240px;
|
|
||||||
--backdrop-overlay: rgba({{colors.surface.default.red}}, {{colors.surface.default.green}}, {{colors.surface.default.blue}}, 0.8);
|
|
||||||
--backdrop-image: var(--background-image);
|
|
||||||
--backdrop-position: var(--background-position);
|
|
||||||
--backdrop-size: var(--background-size);
|
|
||||||
--backdrop-repeat: var(--background-repeat);
|
|
||||||
--backdrop-attachment: var(--background-attachment);
|
|
||||||
--backdrop-brightness: var(--background-brightness);
|
|
||||||
--backdrop-contrast: var(--background-contrast);
|
|
||||||
--backdrop-saturation: var(--background-saturation);
|
|
||||||
--backdrop-invert: var(--background-invert);
|
|
||||||
--backdrop-grayscale: var(--background-grayscale);
|
|
||||||
--backdrop-sepia: var(--background-sepia);
|
|
||||||
--backdrop-blur: var(--background-blur);
|
|
||||||
--bd-blue: var(--main-color);
|
|
||||||
--bd-blue-hover: var(--hover-color);
|
|
||||||
--bd-blue-active: var(--hover-color);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,17 @@
|
|||||||
general {
|
general {
|
||||||
col.inactive_border = rgba({{colors.surface.default.hex_stripped}}cc)
|
col.inactive_border = rgba({{colors.surface.default.hex_stripped}}{{custom.transparency_hex | to_lower}})
|
||||||
col.active_border = rgb({{colors.primary.default.hex_stripped}})
|
col.active_border = rgb({{colors.primary.default.hex_stripped}})
|
||||||
|
border_size = 1
|
||||||
|
extend_border_grab_area = 4
|
||||||
|
gaps_in = {{custom.padding}}
|
||||||
|
gaps_out = {{custom.double_padding}}
|
||||||
|
}
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
rounding = {{custom.radius}}
|
||||||
|
|
||||||
|
blur {
|
||||||
|
size = {{custom.blur}}
|
||||||
|
passes = 2
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
background_tint 0.0
|
||||||
|
background_opacity {{custom.transparency}}
|
||||||
|
|
||||||
background {{colors.surface.default.hex}}
|
background {{colors.surface.default.hex}}
|
||||||
foreground {{colors.on_surface.default.hex}}
|
foreground {{colors.on_surface.default.hex}}
|
||||||
|
|
||||||
|
|||||||
@@ -5,18 +5,56 @@
|
|||||||
username,
|
username,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.theming.matugen;
|
cfg = config.theming.md3-evo;
|
||||||
homeCfg = config.home-manager.users.${username};
|
homeCfg = config.home-manager.users.${username};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.theming.matugen = {
|
options.theming.md3-evo = {
|
||||||
enable = mkEnableOption "Enable dynamic theming through matugen";
|
enable = lib.mkEnableOption "the MD3-EVO theme";
|
||||||
|
flavour = lib.mkOption {
|
||||||
|
type = lib.types.enum [
|
||||||
|
"content"
|
||||||
|
"expressive"
|
||||||
|
"fidelity"
|
||||||
|
"fruit-salad"
|
||||||
|
"monochrome"
|
||||||
|
"neutral"
|
||||||
|
"rainbow"
|
||||||
|
"tonal-spot"
|
||||||
|
];
|
||||||
|
default = "tonal-spot";
|
||||||
|
description = "The flavour of the theme";
|
||||||
|
};
|
||||||
|
contrast = lib.mkOption {
|
||||||
|
type = lib.types.numbers.between (-1) 1;
|
||||||
|
default = 0;
|
||||||
|
description = "Use a modified contrast";
|
||||||
|
};
|
||||||
|
transparency = lib.mkOption {
|
||||||
|
type = lib.types.numbers.between 0 1;
|
||||||
|
default = 0.8;
|
||||||
|
description = "The transparency of apps";
|
||||||
|
};
|
||||||
|
radius = lib.mkOption {
|
||||||
|
type = lib.types.ints.positive;
|
||||||
|
default = 24;
|
||||||
|
description = "The radius of the corners";
|
||||||
|
};
|
||||||
|
padding = lib.mkOption {
|
||||||
|
type = lib.types.ints.positive;
|
||||||
|
default = 12;
|
||||||
|
description = "The padding of the windows";
|
||||||
|
};
|
||||||
|
blur = lib.mkOption {
|
||||||
|
type = lib.types.ints.positive;
|
||||||
|
default = 16;
|
||||||
|
description = "The blur amount of windows";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = [
|
systemPackages = [
|
||||||
pkgs.adw-gtk3
|
pkgs.adw-gtk3
|
||||||
@@ -76,92 +114,141 @@ in
|
|||||||
else
|
else
|
||||||
GTK_THEME="adw-gtk3-dark"
|
GTK_THEME="adw-gtk3-dark"
|
||||||
fi
|
fi
|
||||||
matugen image "$WALLPAPER" --mode "$MODE"
|
|
||||||
|
matugen image "$WALLPAPER" --type scheme-${cfg.flavour} --contrast ${builtins.toString cfg.contrast} --mode "$MODE"
|
||||||
|
sed -i "s/set background=dark/set background=$MODE/g" ${homeCfg.xdg.configHome}/nvim/colors/md3-evo.vim
|
||||||
|
|
||||||
dconf write /org/gnome/desktop/interface/gtk-theme "'$GTK_THEME'"
|
dconf write /org/gnome/desktop/interface/gtk-theme "'$GTK_THEME'"
|
||||||
dconf write /org/gnome/desktop/interface/color-scheme "'prefer-$MODE'"
|
dconf write /org/gnome/desktop/interface/color-scheme "'prefer-$MODE'"
|
||||||
|
|
||||||
for i in $(pgrep -u "$USER" -x nvim); do
|
|
||||||
kill -USR1 "$i"
|
|
||||||
done
|
|
||||||
|
|
||||||
if command -v hyprctl &> /dev/null; then
|
if command -v hyprctl &> /dev/null; then
|
||||||
hyprctl reload
|
hyprctl reload
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
for i in $(pgrep -u "$USER" -x nvim); do
|
||||||
|
kill -USR1 "$i"
|
||||||
|
done
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.${username} = {
|
home-manager.users.${username} = {
|
||||||
programs.kitty.extraConfig = ''
|
programs.kitty = {
|
||||||
include ${homeCfg.xdg.configHome}/kitty/theme.conf
|
extraConfig = ''
|
||||||
'';
|
include ${homeCfg.xdg.configHome}/kitty/theme.conf
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.nixvim = {
|
||||||
|
opts.termguicolors = true;
|
||||||
|
colorscheme = "md3-evo";
|
||||||
|
autoCmd = [
|
||||||
|
{
|
||||||
|
event = [ "Signal" ];
|
||||||
|
pattern = [ "SIGUSR1" ];
|
||||||
|
command = "colorscheme md3-evo";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
gtk = {
|
gtk = {
|
||||||
gtk3.extraCss = "@import './theme.css';";
|
gtk3.extraCss = "@import './theme.css';";
|
||||||
gtk4.extraCss = "@import './theme.css';";
|
gtk4.extraCss = "@import './theme.css';";
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile."matugen/config.toml".source = (pkgs.formats.toml { }).generate "matugen" {
|
wayland.windowManager.hyprland = {
|
||||||
config = {
|
settings.exec-once = [
|
||||||
reload_apps = true;
|
"${pkgs.swww}/bin/swww-daemon"
|
||||||
reload_apps_list = {
|
"theme init"
|
||||||
kitty = homeCfg.programs.kitty.enable;
|
];
|
||||||
waybar = false;
|
extraConfig = ''
|
||||||
dunst = homeCfg.services.dunst.enable;
|
source=./theme.conf
|
||||||
};
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
set_wallpaper = true;
|
xdg.configFile."matugen/config.toml" = {
|
||||||
wallpaper_tool = "Swww";
|
/*
|
||||||
|
onChange = ''
|
||||||
custom_colors = {
|
theme init
|
||||||
red = "#ff0000";
|
'';
|
||||||
green = "#00ff00";
|
*/
|
||||||
yellow = "#ffff00";
|
source = (pkgs.formats.toml { }).generate "matugen" {
|
||||||
orange = "#ff8000";
|
config = {
|
||||||
blue = "#0000ff";
|
reload_apps = true;
|
||||||
magenta = "#ff00ff";
|
reload_apps_list = {
|
||||||
cyan = "#00ffff";
|
kitty = homeCfg.programs.kitty.enable;
|
||||||
|
waybar = false;
|
||||||
warn = {
|
dunst = homeCfg.services.dunst.enable;
|
||||||
color = "#ffff00";
|
|
||||||
blend = false;
|
|
||||||
};
|
};
|
||||||
ok = {
|
|
||||||
color = "#00ff00";
|
set_wallpaper = true;
|
||||||
blend = false;
|
wallpaper_tool = "Swww";
|
||||||
|
|
||||||
|
custom_colors = {
|
||||||
|
red = "#ff0000";
|
||||||
|
green = "#00ff00";
|
||||||
|
yellow = "#ffff00";
|
||||||
|
orange = "#ff8000";
|
||||||
|
blue = "#0000ff";
|
||||||
|
magenta = "#ff00ff";
|
||||||
|
cyan = "#00ffff";
|
||||||
|
|
||||||
|
warn = {
|
||||||
|
color = "#ffff00";
|
||||||
|
blend = false;
|
||||||
|
};
|
||||||
|
ok = {
|
||||||
|
color = "#00ff00";
|
||||||
|
blend = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
custom_keywords = {
|
||||||
|
padding = builtins.toString cfg.padding;
|
||||||
|
double_padding = builtins.toString (cfg.padding * 2);
|
||||||
|
radius = builtins.toString cfg.radius;
|
||||||
|
transparency = builtins.toString cfg.transparency;
|
||||||
|
blur = builtins.toString cfg.blur;
|
||||||
|
flavour = cfg.flavour;
|
||||||
|
contrast = builtins.toString cfg.contrast;
|
||||||
|
transparency_hex =
|
||||||
|
let
|
||||||
|
zeroPad = hex: if builtins.stringLength hex == 1 then "0${hex}" else hex;
|
||||||
|
in
|
||||||
|
zeroPad (lib.trivial.toHexString (builtins.floor (cfg.transparency * 255)));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
templates = {
|
templates = {
|
||||||
kitty = {
|
kitty = {
|
||||||
input_path = ./kitty.conf;
|
input_path = ./kitty.conf;
|
||||||
output_path = "${homeCfg.xdg.configHome}/kitty/theme.conf";
|
output_path = "${homeCfg.xdg.configHome}/kitty/theme.conf";
|
||||||
};
|
};
|
||||||
nvim = {
|
nvim = {
|
||||||
input_path = ./nvim.vim;
|
input_path = ./nvim.vim;
|
||||||
output_path = "${homeCfg.xdg.configHome}/nvim/colors/matugen.vim";
|
output_path = "${homeCfg.xdg.configHome}/nvim/colors/md3-evo.vim";
|
||||||
};
|
};
|
||||||
hyprland = {
|
hyprland = {
|
||||||
input_path = ./hyprland.conf;
|
input_path = ./hyprland.conf;
|
||||||
output_path = "${homeCfg.xdg.configHome}/hypr/theme.conf";
|
output_path = "${homeCfg.xdg.configHome}/hypr/theme.conf";
|
||||||
};
|
};
|
||||||
anyrun = {
|
anyrun = {
|
||||||
input_path = ./anyrun.css;
|
input_path = ./anyrun.css;
|
||||||
output_path = "${homeCfg.xdg.configHome}/anyrun/theme.css";
|
output_path = "${homeCfg.xdg.configHome}/anyrun/theme.css";
|
||||||
};
|
};
|
||||||
gtk3 = {
|
gtk3 = {
|
||||||
input_path = ./gtk.css;
|
input_path = ./gtk.css;
|
||||||
output_path = "${homeCfg.xdg.configHome}/gtk-3.0/theme.css";
|
output_path = "${homeCfg.xdg.configHome}/gtk-3.0/theme.css";
|
||||||
};
|
};
|
||||||
gtk4 = {
|
gtk4 = {
|
||||||
input_path = ./gtk.css;
|
input_path = ./gtk.css;
|
||||||
output_path = "${homeCfg.xdg.configHome}/gtk-4.0/theme.css";
|
output_path = "${homeCfg.xdg.configHome}/gtk-4.0/theme.css";
|
||||||
};
|
};
|
||||||
vesktop = {
|
vesktop = {
|
||||||
input_path = ./discord-b.css;
|
input_path = ./discord.css;
|
||||||
output_path = "${homeCfg.xdg.configHome}/vesktop/themes/matugen.theme.css";
|
output_path = "${homeCfg.xdg.configHome}/vesktop/themes/matugen.theme.css";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,16 +1,73 @@
|
|||||||
if exists(g:neovide)
|
set background=dark
|
||||||
|
|
||||||
|
let g:neovide_transparency = {{custom.transparency}}
|
||||||
|
let g:neovide_padding_top = {{custom.padding}}
|
||||||
|
let g:neovide_padding_bottom = {{custom.padding}}
|
||||||
|
let g:neovide_padding_left = {{custom.padding}}
|
||||||
|
let g:neovide_padding_right = {{custom.padding}}
|
||||||
|
let g:neovide_floating_blur_amount_x = {{custom.blur}}
|
||||||
|
let g:neovide_floating_blur_amount_y = {{custom.blur}}
|
||||||
|
let g:neovide_floating_shadow = 0
|
||||||
|
|
||||||
|
if exists("g:neovide")
|
||||||
hi Normal guibg={{colors.surface.default.hex}} guifg={{colors.on_surface.default.hex}}
|
hi Normal guibg={{colors.surface.default.hex}} guifg={{colors.on_surface.default.hex}}
|
||||||
set pumblend=100
|
set pumblend=0
|
||||||
|
set winblend=0
|
||||||
else
|
else
|
||||||
hi Normal ctermbg=NONE guibg=NONE guifg={{colors.on_surface.default.hex}}
|
hi Normal ctermbg=NONE guibg=NONE guifg={{colors.on_surface.default.hex}}
|
||||||
set noshowmode
|
set noshowmode
|
||||||
end
|
end
|
||||||
|
|
||||||
|
let g:terminal_color_0 = "{{colors.surface.default.hex}}"
|
||||||
|
let g:terminal_color_1 = "{{colors.red.default.hex}}"
|
||||||
|
let g:terminal_color_2 = "{{colors.green.default.hex}}"
|
||||||
|
let g:terminal_color_3 = "{{colors.yellow.default.hex}}"
|
||||||
|
let g:terminal_color_4 = "{{colors.blue.default.hex}}"
|
||||||
|
let g:terminal_color_5 = "{{colors.magenta.default.hex}}"
|
||||||
|
let g:terminal_color_6 = "{{colors.cyan.default.hex}}"
|
||||||
|
let g:terminal_color_7 = "{{colors.on_surface.default.hex}}"
|
||||||
|
|
||||||
|
let g:terminal_color_8 = "{{colors.outline_variant.default.hex}}"
|
||||||
|
let g:terminal_color_9 = "{{colors.red.default.hex}}"
|
||||||
|
let g:terminal_color_10 = "{{colors.green.default.hex}}"
|
||||||
|
let g:terminal_color_11 = "{{colors.yellow.default.hex}}"
|
||||||
|
let g:terminal_color_12 = "{{colors.blue.default.hex}}"
|
||||||
|
let g:terminal_color_13 = "{{colors.magenta.default.hex}}"
|
||||||
|
let g:terminal_color_14 = "{{colors.cyan.default.hex}}"
|
||||||
|
let g:terminal_color_15 = "{{colors.on_surface_variant.default.hex}}"
|
||||||
|
set termguicolors
|
||||||
|
|
||||||
|
hi Pmenu ctermbg=none guibg=none guifg={{colors.on_surface.default.hex}}
|
||||||
|
hi PmenuSel guibg={{colors.primary.default.hex}} guifg={{colors.on_primary.default.hex}}
|
||||||
|
hi CursorColumn guibg={{colors.primary.default.hex}} guifg={{colors.on_primary.default.hex}}
|
||||||
|
hi CursorLine guibg={{colors.primary.default.hex}} guifg={{colors.on_primary.default.hex}}
|
||||||
|
hi WildMenu guibg={{colors.primary.default.hex}} guifg={{colors.on_primary.default.hex}}
|
||||||
|
hi MoreMsg guifg={{colors.primary.default.hex}}
|
||||||
|
hi Question guifg={{colors.secondary.default.hex}}
|
||||||
|
|
||||||
|
hi Title guifg={{colors.primary.default.hex}}
|
||||||
|
hi FloatTitle guifg={{colors.primary.default.hex}}
|
||||||
|
hi Visual guifg={{colors.on_primary.default.hex}} guibg={{colors.primary.default.hex}}
|
||||||
|
|
||||||
|
hi Folded guibg={{colors.secondary.default.hex}} guifg={{colors.on_secondary.default.hex}}
|
||||||
|
hi FoldColumn guibg={{colors.secondary.default.hex}} guifg={{colors.on_secondary.default.hex}}
|
||||||
|
|
||||||
|
hi Conceal guibg={{colors.secondary_container.default.hex}} guifg={{colors.on_secondary_container.default.hex}}
|
||||||
|
|
||||||
|
hi TabLine guibg={{colors.primary_container.default.hex}} guifg={{colors.on_primary_container.default.hex}}
|
||||||
|
hi TabLineFill guibg={{colors.primary.default.hex}} guifg={{colors.on_primary.default.hex}}
|
||||||
|
|
||||||
|
hi SpecialKey guifg={{colors.primary.default.hex}}
|
||||||
|
hi Directory guifg={{colors.primary.default.hex}}
|
||||||
|
hi Search guifg={{colors.on_tertiary.default.hex}} guibg={{colors.tertiary.default.hex}}
|
||||||
|
|
||||||
hi CmpItemKindCopilot guifg={{colors.cyan.default.hex}}
|
hi CmpItemKindCopilot guifg={{colors.cyan.default.hex}}
|
||||||
hi CmpItemKindNpm guifg={{colors.red.default.hex}}
|
hi CmpItemKindNpm guifg={{colors.red.default.hex}}
|
||||||
|
|
||||||
hi Error guibg={{colors.error_container.default.hex}} guifg={{colors.on_error_container.default.hex}}
|
hi Error guibg={{colors.error_container.default.hex}} guifg={{colors.on_error_container.default.hex}}
|
||||||
hi ErrorMsg guibg={{colors.error_container.default.hex}} guifg={{colors.on_error_container.default.hex}}
|
hi ErrorMsg guibg={{colors.error_container.default.hex}} guifg={{colors.on_error_container.default.hex}}
|
||||||
|
hi WarningMsg guibg={{colors.warn_container.default.hex}} guifg={{colors.on_warn_container.default.hex}}
|
||||||
|
hi NvimInternalError guibg={{colors.error.default.hex}} guifg={{colors.on_error.default.hex}}
|
||||||
|
|
||||||
hi DiagnosticError guifg={{colors.error.default.hex}}
|
hi DiagnosticError guifg={{colors.error.default.hex}}
|
||||||
hi DiagnosticWarn guifg={{colors.warn.default.hex}}
|
hi DiagnosticWarn guifg={{colors.warn.default.hex}}
|
||||||
@@ -18,6 +75,11 @@ hi DiagnosticInfo guifg={{colors.blue.default.hex}}
|
|||||||
hi DiagnosticHint guifg={{colors.outline.default.hex}}
|
hi DiagnosticHint guifg={{colors.outline.default.hex}}
|
||||||
hi DiagnosticOk guifg={{colors.ok.default.hex}}
|
hi DiagnosticOk guifg={{colors.ok.default.hex}}
|
||||||
|
|
||||||
|
hi RedrawDebugNormal guibg={{colors.surface_variant.default.hex}} guifg={{colors.on_surface_variant.default.hex}}
|
||||||
|
hi RedrawDebugClear guibg={{colors.warn.default.hex}} guifg={{colors.on_warn.default.hex}}
|
||||||
|
hi RedrawDebugComposed guibg={{colors.ok.default.hex}} guifg={{colors.on_ok.default.hex}}
|
||||||
|
hi RedrawDebugRecompose guibg={{colors.error.default.hex}} guifg={{colors.on_error.default.hex}}
|
||||||
|
|
||||||
hi DiagnosticUnderlineError gui=undercurl guisp={{colors.error.default.hex}}
|
hi DiagnosticUnderlineError gui=undercurl guisp={{colors.error.default.hex}}
|
||||||
hi DiagnosticUnderlineWarn gui=undercurl guisp={{colors.warn.default.hex}}
|
hi DiagnosticUnderlineWarn gui=undercurl guisp={{colors.warn.default.hex}}
|
||||||
hi DiagnosticUnderlineInfo gui=undercurl guisp={{colors.blue.default.hex}}
|
hi DiagnosticUnderlineInfo gui=undercurl guisp={{colors.blue.default.hex}}
|
||||||
@@ -25,11 +87,25 @@ hi DiagnosticUnderlineHint gui=undercurl guisp={{colors.outline.default.hex}}
|
|||||||
hi DiagnosticUnderlineOk gui=undercurl guisp={{colors.ok.default.hex}}
|
hi DiagnosticUnderlineOk gui=undercurl guisp={{colors.ok.default.hex}}
|
||||||
hi DiagnosticDeprecated gui=strikethrough guisp={{colors.error.default.hex}}
|
hi DiagnosticDeprecated gui=strikethrough guisp={{colors.error.default.hex}}
|
||||||
|
|
||||||
|
hi SpellBad gui=undercurl guisp={{colors.green.default.hex}}
|
||||||
|
hi SpellCap gui=undercurl guisp={{colors.green.default.hex}}
|
||||||
|
hi SpellRare gui=undercurl guisp={{colors.green.default.hex}}
|
||||||
|
hi SpellLocal gui=undercurl guisp={{colors.green.default.hex}}
|
||||||
|
|
||||||
|
hi DiffAdd guibg={{colors.green_container.default.hex}} guifg={{colors.on_green_container.default.hex}}
|
||||||
|
hi DiffChange guibg={{colors.yellow_container.default.hex}} guifg={{colors.on_yellow_container.default.hex}}
|
||||||
|
hi DiffDelete guibg={{colors.red_container.default.hex}} guifg={{colors.on_red_container.default.hex}}
|
||||||
|
hi DiffText guibg={{colors.blue_container.default.hex}} guifg={{colors.on_blue_container.default.hex}}
|
||||||
|
|
||||||
|
hi NeoTreeGitAdded guifg={{colors.green.default.hex}}
|
||||||
|
hi NeoTreeGitDeleted guifg={{colors.red.default.hex}}
|
||||||
|
hi NeoTreeGitModified guifg={{colors.yellow.default.hex}}
|
||||||
|
hi NeoTreeGitConflict guifg={{colors.error.default.hex}}
|
||||||
|
hi NeoTreeGitUntracked guifg={{colors.blue.default.hex}}
|
||||||
|
|
||||||
hi NonText guifg={{colors.outline_variant.default.hex}}
|
hi NonText guifg={{colors.outline_variant.default.hex}}
|
||||||
hi LineNr guifg={{colors.outline_variant.default.hex}}
|
hi LineNr guifg={{colors.outline_variant.default.hex}}
|
||||||
hi CursorLineNr guifg={{colors.on_surface.default.hex}}
|
hi CursorLineNr guifg={{colors.on_surface.default.hex}}
|
||||||
hi CursorColumn guifg={{colors.on_surface.default.hex}}
|
|
||||||
hi CursorLine guifg={{colors.on_surface.default.hex}}
|
|
||||||
hi SignColumn guibg=none guifg={{colors.on_surface.default.hex}}
|
hi SignColumn guibg=none guifg={{colors.on_surface.default.hex}}
|
||||||
|
|
||||||
hi IblScope guifg={{colors.on_surface.default.hex}}
|
hi IblScope guifg={{colors.on_surface.default.hex}}
|
||||||
@@ -63,6 +139,8 @@ hi def link @label.json @property
|
|||||||
hi def link @label.jsonc @label.json
|
hi def link @label.jsonc @label.json
|
||||||
hi def link @property.typescript @property
|
hi def link @property.typescript @property
|
||||||
hi def link @lsp.type.property @property
|
hi def link @lsp.type.property @property
|
||||||
|
hi def link @attribute Constant
|
||||||
|
hi def link @tag.attribute Constant
|
||||||
|
|
||||||
hi def link @lsp.type.variable Constant
|
hi def link @lsp.type.variable Constant
|
||||||
hi def link @lsp.typemod.variable.local Identifier
|
hi def link @lsp.typemod.variable.local Identifier
|
||||||
@@ -81,7 +159,6 @@ hi def link @type.builtin Keyword
|
|||||||
hi Number guifg={{colors.cyan.default.hex}}
|
hi Number guifg={{colors.cyan.default.hex}}
|
||||||
hi Function guifg={{colors.cyan.default.hex}}
|
hi Function guifg={{colors.cyan.default.hex}}
|
||||||
|
|
||||||
hi @attribute guifg={{colors.yellow.default.hex}}
|
|
||||||
hi Structure guifg={{colors.yellow.default.hex}}
|
hi Structure guifg={{colors.yellow.default.hex}}
|
||||||
hi def link PreProc Structure
|
hi def link PreProc Structure
|
||||||
hi def link Tag Structure
|
hi def link Tag Structure
|
||||||
@@ -93,4 +170,37 @@ hi IlluminatedWordRead gui=none guibg={{colors.surface_container_highest.default
|
|||||||
hi IlluminatedWordWrite gui=none guibg={{colors.surface_container_highest.default.hex}}
|
hi IlluminatedWordWrite gui=none guibg={{colors.surface_container_highest.default.hex}}
|
||||||
hi MatchParen gui=none guibg={{colors.surface_container_highest.default.hex}}
|
hi MatchParen gui=none guibg={{colors.surface_container_highest.default.hex}}
|
||||||
|
|
||||||
hi Visual gui=bold guifg={{colors.on_primary.default.hex}} guibg={{colors.primary.default.hex}}
|
:lua require('lualine').setup({options = {theme = {
|
||||||
|
\ insert = {
|
||||||
|
\ a = {fg = "{{colors.on_green.default.hex}}", bg = "{{colors.green.default.hex}}", gui = "bold"},
|
||||||
|
\ b = {fg = "{{colors.on_surface_variant.default.hex}}", bg = "{{colors.surface_variant.default.hex}}"},
|
||||||
|
\ c = {fg = "{{colors.on_surface.default.hex}}", bg = "{{colors.surface.default.hex}}"},
|
||||||
|
\ },
|
||||||
|
\ normal = {
|
||||||
|
\ a = {fg = "{{colors.on_primary.default.hex}}", bg = "{{colors.primary.default.hex}}", gui = "bold"},
|
||||||
|
\ b = {fg = "{{colors.on_surface_variant.default.hex}}", bg = "{{colors.surface_variant.default.hex}}"},
|
||||||
|
\ c = {fg = "{{colors.on_surface.default.hex}}", bg = "{{colors.surface.default.hex}}"},
|
||||||
|
\ },
|
||||||
|
\ command = {
|
||||||
|
\ a = {fg = "{{colors.on_tertiary.default.hex}}", bg = "{{colors.tertiary.default.hex}}", gui = "bold"},
|
||||||
|
\ b = {fg = "{{colors.on_surface_variant.default.hex}}", bg = "{{colors.surface_variant.default.hex}}"},
|
||||||
|
\ c = {fg = "{{colors.on_surface.default.hex}}", bg = "{{colors.surface.default.hex}}"},
|
||||||
|
\ },
|
||||||
|
\ visual = {
|
||||||
|
\ a = {fg = "{{colors.on_magenta.default.hex}}", bg = "{{colors.magenta.default.hex}}", gui = "bold"},
|
||||||
|
\ b = {fg = "{{colors.on_surface_variant.default.hex}}", bg = "{{colors.surface_variant.default.hex}}"},
|
||||||
|
\ c = {fg = "{{colors.on_surface.default.hex}}", bg = "{{colors.surface.default.hex}}"},
|
||||||
|
\ },
|
||||||
|
\ replace = {
|
||||||
|
\ a = {fg = "{{colors.on_red.default.hex}}", bg = "{{colors.red.default.hex}}", gui = "bold"},
|
||||||
|
\ b = {fg = "{{colors.on_surface_variant.default.hex}}", bg = "{{colors.surface_variant.default.hex}}"},
|
||||||
|
\ c = {fg = "{{colors.on_surface.default.hex}}", bg = "{{colors.surface.default.hex}}"},
|
||||||
|
\ },
|
||||||
|
\ inactive = {
|
||||||
|
\ a = {fg = "{{colors.on_surface_variant.default.hex}}", bg = "{{colors.surface_variant.default.hex}}", gui = "bold"},
|
||||||
|
\ b = {fg = "{{colors.on_surface_variant.default.hex}}", bg = "{{colors.surface_variant.default.hex}}"},
|
||||||
|
\ c = {fg = "{{colors.on_surface_variant.default.hex}}", bg = "{{colors.surface_variant.default.hex}}"},
|
||||||
|
\ },
|
||||||
|
\} } })
|
||||||
|
|
||||||
|
lua require('nvim-web-devicons').refresh()
|
||||||
|
|||||||
Reference in New Issue
Block a user