summaryrefslogtreecommitdiff
path: root/common/modules/matugen/templates
diff options
context:
space:
mode:
Diffstat (limited to 'common/modules/matugen/templates')
-rw-r--r--common/modules/matugen/templates/default.nix4
-rw-r--r--common/modules/matugen/templates/matugen-btop.nix93
-rw-r--r--common/modules/matugen/templates/matugen-discord.nix112
-rw-r--r--common/modules/matugen/templates/matugen-dunst.nix44
-rw-r--r--common/modules/matugen/templates/matugen-gtk.nix58
-rw-r--r--common/modules/matugen/templates/matugen-mango.nix24
-rw-r--r--common/modules/matugen/templates/matugen-rofi.nix25
-rw-r--r--common/modules/matugen/templates/matugen-swaylock.nix54
-rw-r--r--common/modules/matugen/templates/matugen-terminal.nix107
-rw-r--r--common/modules/matugen/templates/matugen-waybar.nix24
-rw-r--r--common/modules/matugen/templates/matugen-wlogout.nix11
-rw-r--r--common/modules/matugen/templates/matugen-xresources.nix47
-rw-r--r--common/modules/matugen/templates/matugen-yazi.nix197
-rw-r--r--common/modules/matugen/templates/matugen-zathura.nix109
-rw-r--r--common/modules/matugen/templates/matugen-zed.nix602
-rw-r--r--common/modules/matugen/templates/matugen-zen.nix105
16 files changed, 1616 insertions, 0 deletions
diff --git a/common/modules/matugen/templates/default.nix b/common/modules/matugen/templates/default.nix
new file mode 100644
index 0000000..d170adb
--- /dev/null
+++ b/common/modules/matugen/templates/default.nix
@@ -0,0 +1,4 @@
+{ importer, ... }:
+{
+ imports = importer ./.;
+}
diff --git a/common/modules/matugen/templates/matugen-btop.nix b/common/modules/matugen/templates/matugen-btop.nix
new file mode 100644
index 0000000..1f23c25
--- /dev/null
+++ b/common/modules/matugen/templates/matugen-btop.nix
@@ -0,0 +1,93 @@
+{
+ config,
+ lib,
+ ...
+}:
+{
+ config = lib.mkIf config.programs.btop.enable {
+ xdg.configFile = {
+ "matugen/templates/btop.theme" = {
+ text = ''
+ # Main background, empty for terminal default, need to be empty if you want transparent background
+ theme[main_bg]=""
+
+ # Main text color
+ theme[main_fg]="{{colors.on_surface.default.hex}}"
+
+ # Title color for boxes
+ theme[title]="{{colors.primary.default.hex}}"
+
+ # Highlight color for keyboard shortcuts
+ theme[hi_fg]="{{colors.secondary.default.hex}}"
+
+ # Background color of selected item in processes box
+ theme[selected_bg]="{{colors.primary.default.hex}}"
+
+ # Foreground color of selected item in processes box
+ theme[selected_fg]="{{colors.on_primary.default.hex}}"
+
+ # Color of inactive/disabled text
+ theme[inactive_fg]="{{colors.on_surface_variant.default.hex}}"
+
+ # Misc colors for processes box including mini cpu graphs, details memory graph and details status text
+ theme[proc_misc]="{{colors.tertiary.default.hex}}"
+
+ # Cpu box outline color
+ theme[cpu_box]="{{colors.outline.default.hex}}"
+
+ # Memory/disks box outline color
+ theme[mem_box]="{{colors.outline.default.hex}}"
+
+ # Net up/down box outline color
+ theme[net_box]="{{colors.outline.default.hex}}"
+
+ # Processes box outline color
+ theme[proc_box]="{{colors.outline.default.hex}}"
+
+ # Box divider line and small boxes line color
+ theme[div_line]="{{colors.outline_variant.default.hex}}"
+
+ # Temperature graph colors
+ theme[temp_start]="{{colors.secondary.default.hex}}"
+ theme[temp_mid]="{{colors.primary.default.hex}}"
+ theme[temp_end]="{{colors.error.default.hex}}"
+
+ # CPU graph colors
+ theme[cpu_start]="{{colors.secondary.default.hex}}"
+ theme[cpu_mid]="{{colors.primary.default.hex}}"
+ theme[cpu_end]="{{colors.error.default.hex}}"
+
+ # Mem/Disk free meter
+ theme[free_start]="{{colors.secondary.default.hex}}"
+ theme[free_mid]=""
+ theme[free_end]="{{colors.secondary_container.default.hex}}"
+
+ # Mem/Disk cached meter
+ theme[cached_start]="{{colors.tertiary.default.hex}}"
+ theme[cached_mid]=""
+ theme[cached_end]="{{colors.tertiary_container.default.hex}}"
+
+ # Mem/Disk available meter
+ theme[available_start]="{{colors.primary.default.hex}}"
+ theme[available_mid]=""
+ theme[available_end]="{{colors.primary_container.default.hex}}"
+
+ # Mem/Disk used meter
+ theme[used_start]="{{colors.error.default.hex}}"
+ theme[used_mid]=""
+ theme[used_end]="{{colors.error_container.default.hex}}"
+
+ # Download graph colors
+ theme[download_start]="{{colors.secondary.default.hex}}"
+ theme[download_mid]="{{colors.primary.default.hex}}"
+ theme[download_end]="{{colors.tertiary.default.hex}}"
+
+ # Upload graph colors
+ theme[upload_start]="{{colors.secondary.default.hex}}"
+ theme[upload_mid]="{{colors.primary.default.hex}}"
+ theme[upload_end]="{{colors.tertiary.default.hex}}"
+ '';
+ };
+ };
+ };
+}
diff --git a/common/modules/matugen/templates/matugen-discord.nix b/common/modules/matugen/templates/matugen-discord.nix
new file mode 100644
index 0000000..7beef19
--- /dev/null
+++ b/common/modules/matugen/templates/matugen-discord.nix
@@ -0,0 +1,112 @@
+{
+ config,
+ lib,
+ ...
+}:
+{
+ config = lib.mkIf config.programs.vesktop.enable {
+ xdg.configFile."matugen/templates/discord.css" = {
+ text = ''
+ /**
+ * @name midnight
+ * @description midnight-discord, generated by matugen
+ * @author refact0r
+ * @version 1.6.2
+ * @invite nz87hXyvcy
+ * @website https://github.com/refact0r/midnight-discord
+ * @source https://github.com/refact0r/midnight-discord/blob/master/midnight.theme.css
+ * @authorId 508863359777505290
+ * @authorLink https://www.refact0r.dev
+ */
+
+ /* IMPORTANT: make sure to enable dark mode in discord settings for the theme to apply properly!!! */
+
+ @import url('https://refact0r.github.io/midnight-discord/build/midnight.css');
+
+ /* customize things here */
+ :root {
+ /* font, change to 'gg sans' for default discord font*/
+ --font: 'IBM Plex Mono';
+
+ /* top left corner text */
+ --corner-text: 'Midnight';
+
+ /* color of status indicators and window controls */
+ --online-indicator: {{colors.inverse_primary.default.hex}}; /* change to #23a55a for default green */
+ --dnd-indicator: {{colors.error.default.hex}}; /* change to #f13f43 for default red */
+ --idle-indicator: {{colors.tertiary_container.default.hex}}; /* change to #f0b232 for default yellow */
+ --streaming-indicator: {{colors.on_primary.default.hex}}; /* change to #593695 for default purple */
+
+ /* accent colors */
+ --accent-1: {{colors.tertiary.default.hex}}; /* links */
+ --accent-2: {{colors.primary.default.hex}}; /* general unread/mention elements, some icons when active */
+ --accent-3: {{colors.primary.default.hex}}; /* accent buttons */
+ --accent-4: {{colors.surface_bright.default.hex}}; /* accent buttons when hovered */
+ --accent-5: {{colors.primary_fixed_dim.default.hex}}; /* accent buttons when clicked */
+ --mention: {{colors.surface.default.hex}}; /* mentions & mention messages */
+ --mention-hover: {{colors.surface_bright.default.hex}}; /* mentions & mention messages when hovered */
+
+ /* text colors */
+ --text-0: {{colors.surface.default.hex}}; /* text on colored elements */
+ --text-1: {{colors.on_surface.default.hex}}; /* other normally white text */
+ --text-2: {{colors.on_surface.default.hex}}; /* headings and important text */
+ --text-3: {{colors.on_surface_variant.default.hex}}; /* normal text */
+ --text-4: {{colors.on_surface_variant.default.hex}}; /* icon buttons and channels */
+ --text-5: {{colors.outline.default.hex}}; /* muted channels/chats and timestamps */
+
+ /* background and dark colors */
+ --bg-1: {{colors.surface_variant.default.hex}}; /* dark buttons when clicked */
+ --bg-2: {{colors.surface_container_high.default.hex}}; /* dark buttons */
+ --bg-3: {{colors.surface_container_low.default.hex}}; /* spacing, secondary elements */
+ --bg-4: {{colors.surface.default.hex}}; /* main background color */
+ --hover: {{colors.surface_bright.default.hex}}; /* channels and buttons when hovered */
+ --active: {{colors.surface_bright.default.hex}}; /* channels and buttons when clicked or selected */
+ --message-hover: {{colors.surface_bright.default.hex}}; /* messages when hovered */
+
+ /* amount of spacing and padding */
+ --spacing: 12px;
+
+ /* animations */
+ /* ALL ANIMATIONS CAN BE DISABLED WITH REDUCED MOTION IN DISCORD SETTINGS */
+ --list-item-transition: 0.2s ease; /* channels/members/settings hover transition */
+ --unread-bar-transition: 0.2s ease; /* unread bar moving into view transition */
+ --moon-spin-transition: 0.4s ease; /* moon icon spin */
+ --icon-spin-transition: 1s ease; /* round icon button spin (settings, emoji, etc.) */
+
+ /* corner roundness (border-radius) */
+ --roundness-xl: 22px; /* roundness of big panel outer corners */
+ --roundness-l: 20px; /* popout panels */
+ --roundness-m: 16px; /* smaller panels, images, embeds */
+ --roundness-s: 12px; /* members, settings inputs */
+ --roundness-xs: 10px; /* channels, buttons */
+ --roundness-xxs: 8px; /* searchbar, small elements */
+
+ /* direct messages moon icon */
+ /* change to block to show, none to hide */
+ --discord-icon: none; /* discord icon */
+ --moon-icon: block; /* moon icon */
+ --moon-icon-url: url('https://upload.wikimedia.org/wikipedia/commons/c/c4/Font_Awesome_5_solid_moon.svg'); /* custom icon url */
+ --moon-icon-size: auto;
+
+ /* filter uncolorable elements to fit theme */
+ /* (just set to none, they're too much work to configure) */
+ --login-bg-filter: saturate(0.3) hue-rotate(-15deg) brightness(0.4); /* login background artwork */
+ --green-to-accent-3-filter: hue-rotate(56deg) saturate(1.43); /* add friend page explore icon */
+ --blurple-to-accent-3-filter: hue-rotate(304deg) saturate(0.84) brightness(1.2); /* add friend page school icon */
+ }
+
+ /* Selected chat/friend text */
+ .selected_f5eb4b,
+ .selected_f6f816 .link_d8bfb3 {
+ color: var(--text-0) !important;
+ background: var(--accent-3) !important;
+ }
+
+ .selected_f6f816 .link_d8bfb3 * {
+ color: var(--text-0) !important;
+ fill: var(--text-0) !important;
+ }
+ '';
+ };
+ };
+}
diff --git a/common/modules/matugen/templates/matugen-dunst.nix b/common/modules/matugen/templates/matugen-dunst.nix
new file mode 100644
index 0000000..2f7d107
--- /dev/null
+++ b/common/modules/matugen/templates/matugen-dunst.nix
@@ -0,0 +1,44 @@
+{
+ config,
+ pkgs,
+ ...
+}:
+let
+ playSound = pkgs.writeShellScriptBin "play-notification-sound" ''
+ ${pkgs.libcanberra-gtk3}/bin/canberra-gtk-play -i message
+ '';
+in
+{
+ xdg.configFile."matugen/templates/dunstrc" = {
+ text = ''
+ [global]
+ font = "Lilex Nerd Font 11"
+ corner_radius=0
+ frame_width = 2
+ markup = yes
+ plain_text = no
+ browser = zen --new-tab
+
+ [play_sound]
+ summary = "*"
+ script = "${playSound}/bin/play-notification-sound"
+
+ # --- Matugen Colors ---
+ frame_color = "{{colors.primary.default.hex}}"
+ separator_color = "{{colors.primary_container.default.hex}}"
+
+ [urgency_low]
+ background = "{{colors.surface.default.hex}}"
+ foreground = "{{colors.on_surface.default.hex}}"
+
+ [urgency_normal]
+ background = "{{colors.surface.default.hex}}"
+ foreground = "{{colors.on_surface.default.hex}}"
+
+ [urgency_critical]
+ background = "{{colors.error_container.default.hex}}"
+ foreground = "{{colors.on_error_container.default.hex}}"
+ frame_color = "{{colors.error.default.hex}}"
+ '';
+ };
+}
diff --git a/common/modules/matugen/templates/matugen-gtk.nix b/common/modules/matugen/templates/matugen-gtk.nix
new file mode 100644
index 0000000..0896d04
--- /dev/null
+++ b/common/modules/matugen/templates/matugen-gtk.nix
@@ -0,0 +1,58 @@
+{
+ config,
+ lib,
+ ...
+}:
+{
+ config = lib.mkIf config.gtk.enable {
+ xdg.configFile = {
+ "matugen/templates/colors.css" = {
+ text =
+ # css
+ ''
+ /* Destructive colors are basically error colors */
+ @define-color destructive_bg_color {{colors.error.default.hex}};
+ @define-color destructive_fg_color {{colors.on_error.default.hex}};
+ /* Follow material spec */
+ @define-color error_bg_color {{colors.error.default.hex}};
+ @define-color error_fg_color {{colors.on_error.default.hex}};
+ /* Follow material spec (also I think looks nicer) */
+ @define-color accent_fg_color {{colors.on_primary.default.hex}};
+ @define-color accent_bg_color {{colors.primary.default.hex}};
+ /* Use surface instead of background */
+ @define-color window_bg_color {{colors.surface.default.hex}};
+ @define-color window_fg_color {{colors.on_surface.default.hex}};
+ /* Make it more similar to Adwaita */
+ @define-color view_bg_color {{colors.surface.default.hex}};
+ @define-color view_fg_color {{colors.on_surface.default.hex}};
+ @define-color headerbar_bg_color {{colors.surface.default.hex}};
+ @define-color headerbar_fg_color {{colors.on_surface.default.hex}};
+ @define-color sidebar_bg_color {{colors.surface_container.default.hex}};
+ @define-color sidebar_fg_color {{colors.on_surface.default.hex}};
+ /* There is only like one application I know that uses this, and there isn't a good way to get
+ a color between surface and surface container so I think just giving this surface is a good enough fallback*/
+ @define-color secondary_sidebar_bg_color {{colors.surface.default.hex}};
+ @define-color secondary_sidebar_fg_color {{colors.on_surface.default.hex}};
+ @define-color card_bg_color {{colors.surface_container.default.hex}};
+ @define-color card_fg_color {{colors.on_surface.default.hex}};
+ @define-color overview_bg_color {{colors.surface_container.default.hex}};
+ @define-color overview_fg_color {{colors.on_surface.default.hex}};
+ @define-color popover_bg_color {{colors.surface_container.default.hex}};
+ @define-color popover_fg_color {{colors.on_surface.default.hex}};
+ @define-color dialog_bg_color {{colors.surface.default.hex}};
+ @define-color dialog_fg_color {{colors.on_surface.default.hex}};
+
+ /* Backdrop/unfocused states - prevents white flash on window unfocus */
+ @define-color headerbar_backdrop_color @window_bg_color;
+ @define-color sidebar_backdrop_color @sidebar_bg_color;
+ @define-color theme_unfocused_fg_color @window_fg_color;
+ @define-color theme_unfocused_text_color @view_fg_color;
+ @define-color theme_unfocused_bg_color @window_bg_color;
+ @define-color theme_unfocused_base_color @window_bg_color;
+ @define-color theme_unfocused_selected_bg_color @accent_bg_color;
+ @define-color theme_unfocused_selected_fg_color @accent_fg_color;
+ '';
+ };
+ };
+ };
+}
diff --git a/common/modules/matugen/templates/matugen-mango.nix b/common/modules/matugen/templates/matugen-mango.nix
new file mode 100644
index 0000000..b6a89b2
--- /dev/null
+++ b/common/modules/matugen/templates/matugen-mango.nix
@@ -0,0 +1,24 @@
+{
+ config,
+ lib,
+ ...
+}:
+{
+ config = lib.mkIf config.beeMods.mango.enable {
+ xdg.configFile = {
+ "matugen/templates/mango.conf" = {
+ text = ''
+ shadowscolor = 0x{{colors.shadow.default.hex_stripped}}ff
+ rootcolor = 0x{{colors.surface.default.hex_stripped}}ff
+ bordercolor = 0x{{colors.outline.default.hex_stripped}}ff
+ focuscolor = 0x{{colors.primary.default.hex_stripped}}ff
+ maximizescreencolor = 0x{{colors.secondary.default.hex_stripped}}ff
+ urgentcolor = 0x{{colors.error.default.hex_stripped}}ff
+ scratchpadcolor = 0x{{colors.tertiary.default.hex_stripped}}ff
+ globalcolor = 0x{{colors.on_tertiary.default.hex_stripped}}ff
+ overlaycolor = 0x{{colors.on_primary.default.hex_stripped}}ff
+ '';
+ };
+ };
+ };
+}
diff --git a/common/modules/matugen/templates/matugen-rofi.nix b/common/modules/matugen/templates/matugen-rofi.nix
new file mode 100644
index 0000000..9645e5a
--- /dev/null
+++ b/common/modules/matugen/templates/matugen-rofi.nix
@@ -0,0 +1,25 @@
+{
+ config,
+ lib,
+ ...
+}:
+{
+ config = lib.mkIf config.programs.rofi.enable {
+ xdg.configFile = {
+ "matugen/templates/rofi-colors.rasi" = {
+ text =
+ # rasi
+ ''
+ * {
+ background: {{colors.surface.default.hex}};
+ background-alt: {{colors.surface_container.default.hex}};
+ foreground: {{colors.on_surface.default.hex}};
+ selected: {{colors.primary.default.hex}};
+ active: {{colors.secondary.default.hex}};
+ urgent: {{colors.error.default.hex}};
+ }
+ '';
+ };
+ };
+ };
+}
diff --git a/common/modules/matugen/templates/matugen-swaylock.nix b/common/modules/matugen/templates/matugen-swaylock.nix
new file mode 100644
index 0000000..19514cf
--- /dev/null
+++ b/common/modules/matugen/templates/matugen-swaylock.nix
@@ -0,0 +1,54 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}:
+{
+ config = lib.mkIf config.programs.swaylock.enable {
+ xdg.configFile."matugen/templates/swaylock-colors" = {
+ text = ''
+ # --- Swaylock Config (Moved from Nix settings) ---
+ show-failed-attempts
+ indicator-radius=100
+ indicator-thickness=7
+ line-uses-inside
+
+ # --- Base Colors ---
+ color={{colors.background.default.hex}}
+ layout-text-color={{colors.on_surface.default.hex}}
+
+ # --- State: Idle (Gray-like ring for visibility) ---
+ # Using surface_variant for a distinct but neutral gray ring
+ ring-color={{colors.surface_variant.default.hex}}
+ inside-color={{colors.surface.default.hex}}
+ text-color={{colors.on_surface.default.hex}}
+
+ # Key Highlight (When typing)
+ key-hl-color={{colors.primary.default.hex}}
+ separator-color={{colors.outline.default.hex}}
+
+ # --- State: Verifying (Pressing Enter) ---
+ # Switched to Primary to make the "Enter" state pop
+ ring-ver-color={{colors.primary.default.hex}}
+ inside-ver-color={{colors.primary_container.default.hex}}
+ text-ver-color={{colors.on_primary_container.default.hex}}
+
+ # --- State: Wrong Password ---
+ ring-wrong-color={{colors.error.default.hex}}
+ inside-wrong-color={{colors.error_container.default.hex}}
+ text-wrong-color={{colors.on_error_container.default.hex}}
+
+ # --- State: Backspace / Clear ---
+ ring-clear-color={{colors.secondary.default.hex}}
+ inside-clear-color={{colors.surface_variant.default.hex}}
+ text-clear-color={{colors.on_surface_variant.default.hex}}
+
+ # --- Misc ---
+ bs-hl-color={{colors.error.default.hex}}
+ caps-lock-key-hl-color={{colors.tertiary.default.hex}}
+ caps-lock-bs-hl-color={{colors.error.default.hex}}
+ '';
+ };
+ };
+}
diff --git a/common/modules/matugen/templates/matugen-terminal.nix b/common/modules/matugen/templates/matugen-terminal.nix
new file mode 100644
index 0000000..ae8cd79
--- /dev/null
+++ b/common/modules/matugen/templates/matugen-terminal.nix
@@ -0,0 +1,107 @@
+{
+ config,
+ lib,
+ ...
+}:
+{
+ config = lib.mkMerge [
+ (lib.mkIf config.beeMods.terminal.foot {
+ xdg.configFile."matugen/templates/foot-colors.ini" = {
+ text = ''
+ [colors]
+ foreground={{colors.on_surface.default.hex_stripped}}
+ background={{colors.background.default.hex_stripped}}
+ selection-foreground={{colors.on_surface.default.hex_stripped}}
+ selection-background={{colors.primary_container.default.hex_stripped}}
+ cursor = {{colors.background.default.hex_stripped}} {{colors.primary.default.hex_stripped}}
+
+ regular0=\{{color0[1:]}}
+ regular1=\{{color1[1:]}}
+ regular2=\{{color2[1:]}}
+ regular3=\{{color3[1:]}}
+ regular4=\{{color4[1:]}}
+ regular5=\{{color5[1:]}}
+ regular6=\{{color6[1:]}}
+ regular7=\{{color7[1:]}}
+
+ bright0=\{{color8[1:]}}
+ bright1=\{{color9[1:]}}
+ bright2=\{{color10[1:]}}
+ bright3=\{{color11[1:]}}
+ bright4=\{{color12[1:]}}
+ bright5=\{{color13[1:]}}
+ bright6=\{{color14[1:]}}
+ bright7=\{{color15[1:]}}
+
+
+ dim-blend-towards=<* if {{ is_dark_mode }} *>black<* else *>white<* endif *>
+ '';
+ };
+ })
+ (lib.mkIf config.beeMods.terminal.alacritty {
+ xdg.configFile."matugen/templates/alacritty-colors.toml" = {
+ text = ''
+ [colors.primary]
+ background = '{{colors.background.default.hex}}'
+ foreground = '{{colors.on_surface.default.hex}}'
+
+ [colors.selection]
+ text = '{{colors.on_surface.default.hex}}'
+ background = '{{colors.primary_container.default.hex}}'
+
+ [colors.cursor]
+ text = '{{colors.background.default.hex}}'
+ cursor = '{{colors.primary.default.hex}}'
+
+ [colors.normal]
+ black = "\{{color0}}"
+ red = "\{{color1}}"
+ green = "\{{color2}}"
+ yellow = "\{{color3}}"
+ blue = "\{{color4}}"
+ magenta = "\{{color5}}"
+ cyan = "\{{color6}}"
+ white = "\{{color7}}"
+
+ [colors.bright]
+ black = "\{{color8}}"
+ red = "\{{color9}}"
+ green = "\{{color10}}"
+ yellow = "\{{color11}}"
+ blue = "\{{color12}}"
+ magenta = "\{{color13}}"
+ cyan = "\{{color14}}"
+ white = "\{{color15}}"
+ '';
+ };
+ })
+ (lib.mkIf config.beeMods.terminal.ghostty {
+ xdg.configFile."matugen/templates/ghostty.conf" = {
+ text = ''
+ background = {{colors.background.default.hex}}
+ foreground = {{colors.on_surface.default.hex}}
+ cursor-color = {{colors.primary.default.hex}}
+ selection-background = {{colors.primary_container.default.hex}}
+ selection-foreground = {{colors.on_surface.default.hex}}
+
+ palette = 0=\{{color0}}
+ palette = 1=\{{color1}}
+ palette = 2=\{{color2}}
+ palette = 3=\{{color3}}
+ palette = 4=\{{color4}}
+ palette = 5=\{{color5}}
+ palette = 6=\{{color6}}
+ palette = 7=\{{color7}}
+ palette = 8=\{{color8}}
+ palette = 9=\{{color9}}
+ palette = 10=\{{color10}}
+ palette = 11=\{{color11}}
+ palette = 12=\{{color12}}
+ palette = 13=\{{color13}}
+ palette = 14=\{{color14}}
+ palette = 15=\{{color15}}
+ '';
+ };
+ })
+ ];
+}
diff --git a/common/modules/matugen/templates/matugen-waybar.nix b/common/modules/matugen/templates/matugen-waybar.nix
new file mode 100644
index 0000000..add8a09
--- /dev/null
+++ b/common/modules/matugen/templates/matugen-waybar.nix
@@ -0,0 +1,24 @@
+{
+ config,
+ lib,
+ ...
+}:
+{
+ config = lib.mkIf config.beeMods.mango.waybar {
+ xdg.configFile."matugen/templates/waybar.css" = {
+ text = ''
+ @define-color bg_panel alpha({{colors.surface.default.hex}}, 0.9);
+ @define-color bg_base transparent;
+ @define-color border_color {{colors.primary.default.hex}};
+ @define-color text_main {{colors.primary.default.hex}};
+ @define-color text_muted {{colors.primary.default.hex}};
+ @define-color text_dim {{colors.primary.default.hex}};
+ @define-color text_accent {{colors.primary.default.hex}};
+ @define-color text_dark {{colors.surface_container_highest.default.hex}};
+ @define-color alert_urgent {{colors.error.default.hex}};
+ @define-color alert_minimized {{colors.error_container.default.hex}};
+ @define-color alert_critical {{colors.on_error_container.default.hex}};
+ '';
+ };
+ };
+}
diff --git a/common/modules/matugen/templates/matugen-wlogout.nix b/common/modules/matugen/templates/matugen-wlogout.nix
new file mode 100644
index 0000000..d982a00
--- /dev/null
+++ b/common/modules/matugen/templates/matugen-wlogout.nix
@@ -0,0 +1,11 @@
+{
+ xdg.configFile."matugen/templates/wlogout.css" = {
+ text = ''
+ /* Generated by Matugen - GTK3 Color Variables */
+ @define-color surface_bg rgba({{ colors.surface.default.red }}, {{ colors.surface.default.green }}, {{ colors.surface.default.blue }}, 0.69);
+ @define-color primary_accent {{ colors.primary.default.hex }};
+ @define-color on_surface {{ colors.on_surface.default.hex }};
+ @define-color hover_bg rgba({{ colors.primary_container.default.red }}, {{ colors.primary_container.default.green }}, {{ colors.primary_container.default.blue }}, 0.3);
+ '';
+ };
+}
diff --git a/common/modules/matugen/templates/matugen-xresources.nix b/common/modules/matugen/templates/matugen-xresources.nix
new file mode 100644
index 0000000..614a4bc
--- /dev/null
+++ b/common/modules/matugen/templates/matugen-xresources.nix
@@ -0,0 +1,47 @@
+{
+ config,
+ lib,
+ ...
+}:
+{
+ config = lib.mkIf config.beeMods.mango.enable {
+ xdg.configFile."matugen/templates/colors-xresources" = {
+ text = ''
+ dwm.normbordercolor : {{colors.outline.default.hex}}
+ dwm.normbgcolor : {{colors.surface.default.hex}}
+ dwm.normfgcolor : {{colors.on_surface.default.hex}}
+ dwm.selbordercolor : {{colors.primary.default.hex}}
+ dwm.selbgcolor : {{colors.surface_container.default.hex}}
+ dwm.selfgcolor : {{colors.primary.default.hex}}
+
+ st.background: {{colors.surface.default.hex}}
+ st.foreground: {{colors.on_surface.default.hex}}
+ st.cursorColor: {{colors.primary.default.hex}}
+
+ st.color0: \{{color0}}
+ st.color8: \{{color8}}
+
+ st.color1: \{{color1}}
+ st.color9: \{{color9}}
+
+ st.color2: \{{color2}}
+ st.color10: \{{color10}}
+
+ st.color3: \{{color3}}
+ st.color11: \{{color11}}
+
+ st.color4: \{{color4}}
+ st.color12: \{{color12}}
+
+ st.color5: \{{color5}}
+ st.color13: \{{color13}}
+
+ st.color6: \{{color6}}
+ st.color14: \{{color14}}
+
+ st.color7: \{{color7}}
+ st.color15: \{{color15}}
+ '';
+ };
+ };
+}
diff --git a/common/modules/matugen/templates/matugen-yazi.nix b/common/modules/matugen/templates/matugen-yazi.nix
new file mode 100644
index 0000000..4985b8e
--- /dev/null
+++ b/common/modules/matugen/templates/matugen-yazi.nix
@@ -0,0 +1,197 @@
+{
+ config,
+ lib,
+ ...
+}:
+{
+ config = lib.mkIf config.programs.yazi.enable {
+ xdg.configFile = {
+ "matugen/templates/yazi.toml" = {
+ text = ''
+ # : Manager [[[
+
+ [mgr]
+ cwd = { fg = "{{colors.on_surface.default.hex}}" }
+
+ # Find
+ find_keyword = { fg = "{{colors.error.default.hex}}", bold = true, italic = true, underline = true }
+ find_position = { fg = "{{colors.error.default.hex}}", bold = true, italic = true }
+
+ # Marker
+ marker_copied = { fg = "{{colors.tertiary_fixed.default.hex | auto_lightness: 20.0}}", bg = "{{colors.tertiary_fixed.default.hex | auto_lightness: 20.0}}" }
+ marker_cut = { fg = "{{colors.tertiary_fixed.default.hex}}", bg = "{{colors.tertiary_fixed.default.hex}}" }
+ marker_marked = { fg = "{{colors.error.default.hex}}", bg = "{{colors.error.default.hex}}" }
+ marker_selected = { fg = "{{colors.tertiary.default.hex}}", bg = "{{colors.tertiary.default.hex}}" }
+
+ # Count
+ count_copied = { fg = "{{colors.on_tertiary_fixed.default.hex}}", bg = "{{colors.tertiary_fixed.default.hex}}" }
+ count_cut = { fg = "{{colors.on_tertiary_fixed.default.hex}}", bg = "{{colors.tertiary_fixed.default.hex}}" }
+ count_selected = { fg = "{{colors.on_primary.default.hex}}", bg = "{{colors.tertiary.default.hex}}" }
+
+ # Border
+ border_symbol = "│"
+ border_style = { fg = "{{colors.surface_tint.default.hex}}" }
+
+ # : ]]]
+
+
+ # : Indicator [[[
+
+ [indicator]
+ padding = { open = "█", close = "█" }
+
+ # : ]]]
+
+
+ # : Tabs [[[
+
+ [tabs]
+ active = { fg = "{{colors.primary.default.hex}}", bold = true, bg = "{{colors.surface.default.hex}}" }
+ inactive = { fg = "{{colors.secondary.default.hex}}", bg = "{{colors.surface.default.hex}}" }
+ sep_inner = { open = "[", close = "]" }
+
+ # : ]]]
+
+
+ # : Mode [[[
+
+ [mode]
+ # Mode
+ normal_main = { bg = "{{colors.primary.default.hex}}", fg = "{{colors.on_primary.default.hex}}", bold = true }
+ normal_alt = { bg = "{{colors.surface_variant.default.hex}}", fg = "{{colors.on_surface_variant.default.hex}}" }
+
+ # Select mode
+ select_main = { bg = "{{colors.secondary.default.hex}}", fg = "{{colors.on_secondary.default.hex}}", bold = true }
+ select_alt = { bg = "{{colors.surface_variant.default.hex}}", fg = "{{colors.on_surface_variant.default.hex}}" }
+
+ # Unset mode
+ unset_main = { bg = "{{colors.tertiary.default.hex}}", fg = "{{colors.on_tertiary.default.hex}}", bold = true }
+ unset_alt = { bg = "{{colors.surface_variant.default.hex}}", fg = "{{colors.on_surface_variant.default.hex}}" }
+
+ # : ]]]
+
+
+ # : Status [[[
+
+ [status]
+ sep_left = { open = "🭁", close = "🭠" }
+ sep_right = { open = "🭁", close = "🭠" }
+
+ # Permissions
+ perm_type = { fg = "{{colors.secondary.default.hex | auto_lightness: 30.0}}" }
+ perm_write = { fg = "{{colors.tertiary.default.hex | auto_lightness: 30.0}}" }
+ perm_read = { fg = "{{colors.error.default.hex | auto_lightness: 30.0}}" }
+ perm_exec = { fg = "{{colors.tertiary_fixed.default.hex | auto_lightness: 30.0}}" }
+ perm_sep = { fg = "{{colors.primary_fixed.default.hex | auto_lightness: 30.0}}" }
+
+ # Progress
+ progress_label = { bold = true }
+ progress_normal = { fg = "{{colors.primary.default.hex}}", bg = "{{colors.surface_bright.default.hex}}" }
+ progress_error = { fg = "{{colors.error.default.hex}}", bg = "{{colors.surface_bright.default.hex}}" }
+
+ # : ]]]
+
+
+ # : Which [[[
+
+ [which]
+ cols = 3
+ mask = { bg = "{{colors.surface_bright.default.hex}}" }
+ cand = { fg = "{{colors.primary.default.hex}}" }
+ rest = { fg = "{{colors.on_primary.default.hex}}" }
+ desc = { fg = "{{colors.on_surface.default.hex}}" }
+ separator = " ▶ "
+ separator_style = { fg = "{{colors.on_surface.default.hex}}" }
+
+ # : ]]]
+
+
+ # : Notify [[[
+
+ [notify]
+ title_info = { fg = "{{colors.tertiary.default.hex}}" }
+ title_warn = { fg = "{{colors.primary.default.hex}}" }
+ title_error = { fg = "{{colors.error.default.hex}}" }
+
+ # : ]]]
+
+
+ # : Picker [[[
+
+ [pick]
+ border = { fg = "{{colors.primary.default.hex}}" }
+ active = { fg = "{{colors.tertiary.default.hex}}", bold = true }
+ inactive = {}
+
+ # : ]]]
+
+
+ # : Input [[[
+
+ [input]
+ border = { fg = "{{colors.primary.default.hex}}" }
+ value = { fg = "{{colors.on_surface.default.hex}}" }
+
+ # : ]]]
+
+
+ # : Completion [[[
+
+ [cmp]
+ border = { fg = "{{colors.primary.default.hex}}", bg = "{{colors.on_primary.default.hex}}" }
+
+ # : ]]]
+
+
+ # : Tasks [[[
+
+ [tasks]
+ border = { fg = "{{colors.primary.default.hex}}" }
+ title = {}
+ hovered = { fg = "{{colors.tertiary_fixed.default.hex}}", underline = true }
+
+ # : ]]]
+
+
+ # : Help [[[
+
+ [help]
+ on = { fg = "{{colors.on_surface.default.hex}}" }
+ run = { fg = "{{colors.on_surface.default.hex}}" }
+ footer = { fg = "{{colors.on_secondary.default.hex}}", bg = "{{colors.secondary.default.hex}}" }
+
+ # : ]]]
+
+
+ # : File-specific styles [[[
+
+ [filetype]
+
+ rules = [
+ # Images
+ { mime = "image/*", fg = "#94e2d5" },
+
+ # Media
+ { mime = "{audio,video}/*", fg = "#f9e2af" },
+
+ # Archives
+ { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#f5c2e7" },
+
+ # Documents
+ { mime = "application/{pdf,doc,rtf}", fg = "#a6e3a1" },
+
+ # Special files
+ { name = "*", is = "orphan", bg = "{{colors.error_container.default.hex}}" },
+ { name = "*", is = "exec", fg = "{{colors.on_error_container.default.hex}}" },
+
+ # Fallback
+ { url = "*", fg = "{{colors.on_surface.default.hex}}" },
+ { url = "*/", fg = "{{colors.surface_tint.default.hex}}" },
+ ]
+
+ # : ]]]
+ '';
+ };
+ };
+ };
+}
diff --git a/common/modules/matugen/templates/matugen-zathura.nix b/common/modules/matugen/templates/matugen-zathura.nix
new file mode 100644
index 0000000..afb78ee
--- /dev/null
+++ b/common/modules/matugen/templates/matugen-zathura.nix
@@ -0,0 +1,109 @@
+{
+ config,
+ lib,
+ ...
+}:
+{
+ config = lib.mkIf config.programs.zathura.enable {
+ xdg.configFile = {
+ "matugen/templates/zathura.toml" = {
+ text =
+ # toml
+ ''
+ " -----------------------------------------------------------------------------
+ " Zathura settings
+ " -----------------------------------------------------------------------------
+
+ " Colors
+ set default-bg "{{colors.on_primary.default.rgba | set_alpha: 1.0}}"
+ set default-fg "{{colors.primary.default.hex}}"
+
+ set statusbar-bg "{{colors.on_primary.default.hex}}"
+ set statusbar-fg "{{colors.primary.default.hex}}"
+
+ set inputbar-bg "{{colors.on_primary.default.hex}}"
+ set inputbar-fg "{{colors.primary.default.hex}}"
+
+ set notification-error-bg "{{colors.on_error.default.hex}}"
+ set notification-error-fg "{{colors.error.default.hex}}"
+
+ set notification-warning-bg "{{colors.primary_fixed.default.hex}}"
+ set notification-warning-fg "{{colors.error_container.default.hex}}"
+
+ set highlight-color "{{colors.primary_fixed.default.hex}}"
+ set highlight-active-color "{{colors.primary_fixed_dim.default.hex}}"
+
+ set completion-highlight-fg "{{colors.on_primary.default.hex}}"
+ set completion-highlight-bg {{colors.primary.default.hex}}""
+
+ set completion-bg "{{colors.on_primary.default.hex}}"
+ set completion-fg "{{colors.primary.default.hex}}"
+
+ set notification-bg "{{colors.on_primary.default.hex}}"
+ set notification-fg "{{colors.primary.default.hex}}"
+
+ set recolor "true"
+ set recolor-lightcolor "{{colors.on_primary.default.rgba | set_alpha: 1.0}}"
+ set recolor-darkcolor "{{colors.primary.default.hex}}"
+ set recolor-reverse-video "true"
+ set recolor-keephue "true"
+
+ " Clipboard
+ set selection-clipboard clipboard
+
+ " Search
+ set incremental-search true
+ set search-hadjust true
+
+ " Autoadjust
+ set adjust-open width
+
+ " Typography
+ set font "FiraCode Nerd Font 12"
+
+ " -----------------------------------------------------------------------------
+ " Zathura mappings
+ " -----------------------------------------------------------------------------
+ " remove status bar
+ set guioptions none
+ " Zoom in/out
+ map [normal] z zoom in
+ map [normal] Z zoom out
+ map [fullscreen] z zoom in
+ map [fullscreen] Z zoom out
+
+ " Toggle mode
+ map [normal] D toggle_page_mode
+ map [fullscreen] D toggle_page_mode
+
+ " Scroll
+ map [normal] u scroll half-up
+ map [normal] d scroll half-down
+ map [fullscreen] u scroll half-up
+ map [fullscreen] d scroll half-down
+
+ " Fullscreen
+ map [normal] f toggle_fullscreen
+ map [fullscreen] f toggle_fullscreen
+
+ " Reload
+ map [normal] <C-r> reload
+ map [fullscreen] <C-r> reload
+
+ " Status bar
+ map [normal] b toggle_statusbar
+ map [fullscreen] b toggle_statusbar
+
+ " Set width as in mupdf
+ map [normal] H adjust_window best-fit
+ map [normal] W adjust_window width
+ map [fullscreen] H adjust_window best-fit
+ map [fullscreen] W adjust_window width
+
+ map [normal] i set recolor
+ map [fullscreen] i set recolor
+ '';
+ };
+ };
+ };
+}
diff --git a/common/modules/matugen/templates/matugen-zed.nix b/common/modules/matugen/templates/matugen-zed.nix
new file mode 100644
index 0000000..9e603a4
--- /dev/null
+++ b/common/modules/matugen/templates/matugen-zed.nix
@@ -0,0 +1,602 @@
+{
+ xdg.configFile = {
+ "matugen/templates/zed.json" = {
+ enable = true;
+ text =
+ # toml
+ ''
+ {
+ "$schema": "https://zed.dev/schema/themes/v0.2.0.json",
+ "name": "Matugen",
+ "author": "Matugen",
+ "themes": [
+ {
+ "name": "Matugen Dark",
+ "appearance": "dark",
+ "style": {
+ "accents": [
+ "{{colors.primary.dark.hex}}",
+ "{{colors.secondary.dark.hex}}",
+ "{{colors.tertiary.dark.hex}}"
+ ],
+ "background.appearance": "opaque",
+ "border": "{{colors.outline_variant.dark.hex}}",
+ "border.variant": "{{colors.outline.dark.hex}}",
+ "border.focused": "{{colors.primary.dark.hex}}",
+ "border.selected": "{{colors.primary.dark.hex}}",
+ "border.transparent": "{{colors.outline_variant.dark.hex}}40",
+ "border.disabled": "{{colors.outline_variant.dark.hex}}60",
+ "elevated_surface.background": "{{colors.surface_container_high.dark.hex}}",
+ "surface.background": "{{colors.surface.dark.hex}}",
+ "background": "{{colors.background.dark.hex}}",
+ "element.background": "{{colors.surface_container.dark.hex}}",
+ "element.hover": "{{colors.surface_container_high.dark.hex}}",
+ "element.active": "{{colors.surface_container_highest.dark.hex}}",
+ "element.selected": "{{colors.secondary_container.dark.hex}}",
+ "element.disabled": "{{colors.surface_variant.dark.hex}}",
+ "drop_target.background": "{{colors.primary_container.dark.hex}}80",
+ "ghost_element.background": null,
+ "ghost_element.hover": "{{colors.surface_container.dark.hex}}80",
+ "ghost_element.active": "{{colors.surface_container_high.dark.hex}}",
+ "ghost_element.selected": "{{colors.secondary_container.dark.hex}}80",
+ "ghost_element.disabled": "{{colors.surface_variant.dark.hex}}60",
+ "text": "{{colors.on_surface.dark.hex}}",
+ "text.muted": "{{colors.on_surface_variant.dark.hex}}",
+ "text.placeholder": "{{colors.on_surface_variant.dark.hex}}99",
+ "text.disabled": "{{colors.on_surface.dark.hex}}60",
+ "text.accent": "{{colors.primary.dark.hex}}",
+ "icon": "{{colors.on_surface.dark.hex}}",
+ "icon.muted": "{{colors.on_surface_variant.dark.hex}}",
+ "icon.disabled": "{{colors.on_surface.dark.hex}}60",
+ "icon.placeholder": "{{colors.on_surface_variant.dark.hex}}80",
+ "icon.accent": "{{colors.primary.dark.hex}}",
+ "status_bar.background": "{{colors.surface.dark.hex}}",
+ "title_bar.background": "{{colors.surface.dark.hex}}",
+ "title_bar.inactive_background": "{{colors.surface_dim.dark.hex}}",
+ "toolbar.background": "{{colors.surface_container_low.dark.hex}}",
+ "tab_bar.background": "{{colors.surface_container.dark.hex}}",
+ "tab.inactive_backgorround": "{{colors.surface_container_low.dark.hex}}",
+ "tab.active_background": "{{colors.surface_container_high.dark.hex}}",
+ "search.match_background": "{{colors.tertiary_container.dark.hex}}80",
+ "panel.background": "{{colors.surface_container_low.dark.hex}}",
+ "panel.focused_border": "{{colors.primary.dark.hex}}",
+ "pane.focused_border": "{{colors.primary.dark.hex}}",
+ "scrollbar.thumb.background": "{{colors.on_surface_variant.dark.hex}}80",
+ "scrollbar.thumb.hover_background": "{{colors.on_surface_variant.dark.hex}}c0",
+ "scrollbar.thumb.border": "{{colors.outline_variant.dark.hex}}40",
+ "scrollbar.track.background": "{{colors.surface_container.dark.hex}}",
+ "scrollbar.track.border": "{{colors.outline_variant.dark.hex}}20",
+ "editor.foreground": "{{colors.on_surface.dark.hex}}",
+ "editor.background": "{{colors.surface_container_low.dark.hex}}",
+ "editor.gutter.background": "{{colors.surface_container_low.dark.hex}}",
+ "editor.subheader.background": "{{colors.surface_container.dark.hex}}",
+ "editor.indent_guide": "{{colors.outline_variant.dark.hex}}60",
+ "editor.indent_guide_active": "{{colors.outline.dark.hex}}",
+ "editor.active_line.background": "{{colors.surface_container_high.dark.hex}}80",
+ "editor.highlighted_line.background": "{{colors.surface_container_high.dark.hex}}60",
+ "editor.line_number": "{{colors.on_surface_variant.dark.hex}}",
+ "editor.active_line_number": "{{colors.primary.dark.hex}}",
+ "editor.invisible": "{{colors.outline_variant.dark.hex}}80",
+ "editor.wrap_guide": "{{colors.outline_variant.dark.hex}}40",
+ "editor.active_wrap_guide": "{{colors.outline.dark.hex}}80",
+ "editor.document_highlight.read_background": "{{colors.primary_container.dark.hex}}60",
+ "editor.document_highlight.write_background": "{{colors.secondary_container.dark.hex}}80",
+ "terminal.background": "{{colors.surface_container_low.dark.hex}}",
+ "terminal.foreground": "{{colors.on_surface.dark.hex}}",
+ "terminal.bright_foreground": "{{colors.on_surface.dark.hex}}",
+ "terminal.dim_foreground": "{{colors.on_surface_variant.dark.hex}}",
+ "terminal.ansi.black": "{{colors.surface_dim.dark.hex}}",
+ "terminal.ansi.bright_black": "{{colors.surface_container_high.dark.hex}}",
+ "terminal.ansi.dim_black": "{{colors.surface.dark.hex}}",
+ "terminal.ansi.red": "{{colors.error.dark.hex}}",
+ "terminal.ansi.bright_red": "{{colors.error.dark.hex}}",
+ "terminal.ansi.dim_red": "{{colors.on_error_container.dark.hex}}",
+ "terminal.ansi.green": "{{colors.tertiary.dark.hex}}",
+ "terminal.ansi.bright_green": "{{colors.tertiary.dark.hex}}",
+ "terminal.ansi.dim_green": "{{colors.on_tertiary_container.dark.hex}}",
+ "terminal.ansi.yellow": "{{colors.tertiary_fixed_dim.dark.hex}}",
+ "terminal.ansi.bright_yellow": "{{colors.tertiary_fixed.dark.hex}}",
+ "terminal.ansi.dim_yellow": "{{colors.on_tertiary_fixed.dark.hex}}",
+ "terminal.ansi.blue": "{{colors.primary.dark.hex}}",
+ "terminal.ansi.bright_blue": "{{colors.primary.dark.hex}}",
+ "terminal.ansi.dim_blue": "{{colors.on_primary_container.dark.hex}}",
+ "terminal.ansi.magenta": "{{colors.secondary.dark.hex}}",
+ "terminal.ansi.bright_magenta": "{{colors.secondary.dark.hex}}",
+ "terminal.ansi.dim_magenta": "{{colors.on_secondary_container.dark.hex}}",
+ "terminal.ansi.cyan": "{{colors.primary_fixed_dim.dark.hex}}",
+ "terminal.ansi.bright_cyan": "{{colors.primary_fixed.dark.hex}}",
+ "terminal.ansi.dim_cyan": "{{colors.on_primary_fixed_variant.dark.hex}}",
+ "terminal.ansi.white": "{{colors.on_surface.dark.hex}}",
+ "terminal.ansi.bright_white": "{{colors.on_surface.dark.hex}}",
+ "terminal.ansi.dim_white": "{{colors.on_surface_variant.dark.hex}}",
+ "link_text.hover": "{{colors.primary.dark.hex}}",
+ "conflict": "{{colors.error.dark.hex}}",
+ "conflict.background": "{{colors.error_container.dark.hex}}80",
+ "conflict.border": "{{colors.on_error_container.dark.hex}}",
+ "created": "{{colors.tertiary.dark.hex}}",
+ "created.background": "{{colors.tertiary_container.dark.hex}}80",
+ "created.border": "{{colors.on_tertiary_container.dark.hex}}",
+ "deleted": "{{colors.error.dark.hex}}",
+ "deleted.background": "{{colors.error_container.dark.hex}}80",
+ "deleted.border": "{{colors.on_error_container.dark.hex}}",
+ "error": "{{colors.error.dark.hex}}",
+ "error.background": "{{colors.error_container.dark.hex}}",
+ "error.border": "{{colors.on_error_container.dark.hex}}",
+ "hidden": "{{colors.outline_variant.dark.hex}}",
+ "hidden.border": "{{colors.outline_variant.dark.hex}}60",
+ "hint": "{{colors.primary.dark.hex}}",
+ "hint.background": "{{colors.primary_container.dark.hex}}80",
+ "hint.border": "{{colors.on_primary_container.dark.hex}}",
+ "ignored": "{{colors.on_surface_variant.dark.hex}}60",
+ "ignored.background": "{{colors.surface_variant.dark.hex}}40",
+ "ignored.border": "{{colors.outline_variant.dark.hex}}40",
+ "info": "{{colors.primary.dark.hex}}",
+ "info.background": "{{colors.primary_container.dark.hex}}80",
+ "info.border": "{{colors.on_primary_container.dark.hex}}",
+ "modified": "{{colors.secondary.dark.hex}}",
+ "modified.background": "{{colors.secondary_container.dark.hex}}80",
+ "modified.border": "{{colors.on_secondary_container.dark.hex}}",
+ "predictive": "{{colors.on_surface_variant.dark.hex}}80",
+ "predictive.border": "{{colors.outline.dark.hex}}",
+ "predictive.background": "{{colors.surface_container_highest.dark.hex}}80",
+ "renamed": "{{colors.secondary.dark.hex}}",
+ "renamed.border": "{{colors.on_secondary_container.dark.hex}}",
+ "renamed.background": "{{colors.secondary_container.dark.hex}}80",
+ "success": "{{colors.tertiary.dark.hex}}",
+ "success.background": "{{colors.tertiary_container.dark.hex}}80",
+ "success.border": "{{colors.on_tertiary_container.dark.hex}}",
+ "unreachable": "{{colors.on_surface_variant.dark.hex}}60",
+ "unreachable.background": "{{colors.surface_variant.dark.hex}}40",
+ "unreachable.border": "{{colors.outline_variant.dark.hex}}60",
+ "warning": "{{colors.tertiary_fixed_dim.dark.hex}}",
+ "warning.background": "{{colors.tertiary_container.dark.hex}}80",
+ "warning.border": "{{colors.on_tertiary_container.dark.hex}}",
+ "players": [
+ {
+ "cursor": "{{colors.primary.dark.hex}}",
+ "background": "{{colors.primary_container.dark.hex}}80",
+ "selection": "{{colors.primary_container.dark.hex}}60"
+ },
+ {
+ "cursor": "{{colors.secondary.dark.hex}}",
+ "background": "{{colors.secondary_container.dark.hex}}80",
+ "selection": "{{colors.secondary_container.dark.hex}}60"
+ }
+ ],
+ "syntax": {
+ "boolean": {
+ "color": "{{colors.tertiary.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "comment": {
+ "color": "{{colors.on_surface_variant.dark.hex}}",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "comment.doc": {
+ "color": "{{colors.on_surface_variant.dark.hex}}",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "constant": {
+ "color": "{{colors.tertiary.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "constructor": {
+ "color": "{{colors.secondary.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "emphasis": {
+ "color": "{{colors.primary.dark.hex}}",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "emphasis.strong": {
+ "color": "{{colors.primary.dark.hex}}",
+ "font_style": null,
+ "font_weight": 700
+ },
+ "function": {
+ "color": "{{colors.primary.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "keyword": {
+ "color": "{{colors.secondary.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "number": {
+ "color": "{{colors.tertiary_fixed.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "operator": {
+ "color": "{{colors.on_surface_variant.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "property": {
+ "color": "{{colors.on_surface.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation": {
+ "color": "{{colors.on_surface_variant.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.bracket": {
+ "color": "{{colors.secondary_fixed.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.delimiter": {
+ "color": "{{colors.on_surface_variant.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.list_marker": {
+ "color": "{{colors.on_surface_variant.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.special": {
+ "color": "{{colors.secondary.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string": {
+ "color": "{{colors.tertiary.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.escape": {
+ "color": "{{colors.tertiary_fixed_dim.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.regex": {
+ "color": "{{colors.tertiary_fixed.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.special": {
+ "color": "{{colors.on_tertiary_container.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.special.symbol": {
+ "color": "{{colors.tertiary.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "tag": {
+ "color": "{{colors.secondary.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "text.literal": {
+ "color": "{{colors.tertiary.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "type": {
+ "color": "{{colors.primary_fixed.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable": {
+ "color": "{{colors.on_surface.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable.special": {
+ "color": "{{colors.primary.dark.hex}}",
+ "font_style": null,
+ "font_weight": null
+ }
+ }
+ }
+ },
+ {
+ "name": "Matugen Light",
+ "appearance": "light",
+ "style": {
+ "accents": [
+ "{{colors.primary.light.hex}}",
+ "{{colors.secondary.light.hex}}",
+ "{{colors.tertiary.light.hex}}"
+ ],
+ "background.appearance": "opaque",
+ "border": "{{colors.outline_variant.light.hex}}",
+ "border.variant": "{{colors.outline.light.hex}}",
+ "border.focused": "{{colors.primary.light.hex}}",
+ "border.selected": "{{colors.primary.light.hex}}",
+ "border.transparent": "{{colors.outline_variant.light.hex}}40",
+ "border.disabled": "{{colors.outline_variant.light.hex}}60",
+ "elevated_surface.background": "{{colors.surface_container_high.light.hex}}",
+ "surface.background": "{{colors.surface.light.hex}}",
+ "background": "{{colors.background.light.hex}}",
+ "element.background": "{{colors.surface_container.light.hex}}",
+ "element.hover": "{{colors.surface_container_high.light.hex}}",
+ "element.active": "{{colors.surface_container_highest.light.hex}}",
+ "element.selected": "{{colors.secondary_container.light.hex}}",
+ "element.disabled": "{{colors.surface_variant.light.hex}}",
+ "drop_target.background": "{{colors.primary_container.light.hex}}80",
+ "ghost_element.background": null,
+ "ghost_element.hover": "{{colors.surface_container.light.hex}}80",
+ "ghost_element.active": "{{colors.surface_container_high.light.hex}}",
+ "ghost_element.selected": "{{colors.secondary_container.light.hex}}80",
+ "ghost_element.disabled": "{{colors.surface_variant.light.hex}}60",
+ "text": "{{colors.on_surface.light.hex}}",
+ "text.muted": "{{colors.on_surface_variant.light.hex}}",
+ "text.placeholder": "{{colors.on_surface_variant.light.hex}}99",
+ "text.disabled": "{{colors.on_surface.light.hex}}60",
+ "text.accent": "{{colors.primary.light.hex}}",
+ "icon": "{{colors.on_surface.light.hex}}",
+ "icon.muted": "{{colors.on_surface_variant.light.hex}}",
+ "icon.disabled": "{{colors.on_surface.light.hex}}60",
+ "icon.placeholder": "{{colors.on_surface_variant.light.hex}}80",
+ "icon.accent": "{{colors.primary.light.hex}}",
+ "status_bar.background": "{{colors.surface.light.hex}}",
+ "title_bar.background": "{{colors.surface.light.hex}}",
+ "title_bar.inactive_background": "{{colors.surface_dim.light.hex}}",
+ "toolbar.background": "{{colors.surface_container_low.light.hex}}",
+ "tab_bar.background": "{{colors.surface_container.light.hex}}",
+ "tab.inactive_backgorround": "{{colors.surface_container_low.light.hex}}",
+ "tab.active_background": "{{colors.surface_container_high.light.hex}}",
+ "search.match_background": "{{colors.tertiary_container.light.hex}}80",
+ "panel.background": "{{colors.surface_container_low.light.hex}}",
+ "panel.focused_border": "{{colors.primary.light.hex}}",
+ "pane.focused_border": "{{colors.primary.light.hex}}",
+ "scrollbar.thumb.background": "{{colors.on_surface_variant.light.hex}}80",
+ "scrollbar.thumb.hover_background": "{{colors.on_surface_variant.light.hex}}c0",
+ "scrollbar.thumb.border": "{{colors.outline_variant.light.hex}}40",
+ "scrollbar.track.background": "{{colors.surface_container.light.hex}}",
+ "scrollbar.track.border": "{{colors.outline_variant.light.hex}}20",
+ "editor.foreground": "{{colors.on_surface.light.hex}}",
+ "editor.background": "{{colors.surface_container_low.light.hex}}",
+ "editor.gutter.background": "{{colors.surface_container_low.light.hex}}",
+ "editor.subheader.background": "{{colors.surface_container.light.hex}}",
+ "editor.indent_guide": "{{colors.outline_variant.light.hex}}60",
+ "editor.indent_guide_active": "{{colors.outline.light.hex}}",
+ "editor.active_line.background": "{{colors.surface_container_high.light.hex}}80",
+ "editor.highlighted_line.background": "{{colors.surface_container_high.light.hex}}60",
+ "editor.line_number": "{{colors.on_surface_variant.light.hex}}",
+ "editor.active_line_number": "{{colors.primary.light.hex}}",
+ "editor.invisible": "{{colors.outline_variant.light.hex}}80",
+ "editor.wrap_guide": "{{colors.outline_variant.light.hex}}40",
+ "editor.active_wrap_guide": "{{colors.outline.light.hex}}80",
+ "editor.document_highlight.read_background": "{{colors.primary_container.light.hex}}60",
+ "editor.document_highlight.write_background": "{{colors.secondary_container.light.hex}}80",
+ "terminal.background": "{{colors.surface_container_low.light.hex}}",
+ "terminal.foreground": "{{colors.on_surface.light.hex}}",
+ "terminal.bright_foreground": "{{colors.on_surface.light.hex}}",
+ "terminal.dim_foreground": "{{colors.on_surface_variant.light.hex}}",
+ "terminal.ansi.black": "{{colors.surface_dim.light.hex}}",
+ "terminal.ansi.bright_black": "{{colors.surface_container_high.light.hex}}",
+ "terminal.ansi.dim_black": "{{colors.surface.light.hex}}",
+ "terminal.ansi.red": "{{colors.error.light.hex}}",
+ "terminal.ansi.bright_red": "{{colors.error.light.hex}}",
+ "terminal.ansi.dim_red": "{{colors.on_error_container.light.hex}}",
+ "terminal.ansi.green": "{{colors.tertiary.light.hex}}",
+ "terminal.ansi.bright_green": "{{colors.tertiary.light.hex}}",
+ "terminal.ansi.dim_green": "{{colors.on_tertiary_container.light.hex}}",
+ "terminal.ansi.yellow": "{{colors.tertiary_fixed_dim.light.hex}}",
+ "terminal.ansi.bright_yellow": "{{colors.tertiary_fixed.light.hex}}",
+ "terminal.ansi.dim_yellow": "{{colors.on_tertiary_fixed.light.hex}}",
+ "terminal.ansi.blue": "{{colors.primary.light.hex}}",
+ "terminal.ansi.bright_blue": "{{colors.primary.light.hex}}",
+ "terminal.ansi.dim_blue": "{{colors.on_primary_container.light.hex}}",
+ "terminal.ansi.magenta": "{{colors.secondary.light.hex}}",
+ "terminal.ansi.bright_magenta": "{{colors.secondary.light.hex}}",
+ "terminal.ansi.dim_magenta": "{{colors.on_secondary_container.light.hex}}",
+ "terminal.ansi.cyan": "{{colors.primary_fixed_dim.light.hex}}",
+ "terminal.ansi.bright_cyan": "{{colors.primary_fixed.light.hex}}",
+ "terminal.ansi.dim_cyan": "{{colors.on_primary_fixed_variant.light.hex}}",
+ "terminal.ansi.white": "{{colors.on_surface.light.hex}}",
+ "terminal.ansi.bright_white": "{{colors.on_surface.light.hex}}",
+ "terminal.ansi.dim_white": "{{colors.on_surface_variant.light.hex}}",
+ "link_text.hover": "{{colors.primary.light.hex}}",
+ "conflict": "{{colors.error.light.hex}}",
+ "conflict.background": "{{colors.error_container.light.hex}}80",
+ "conflict.border": "{{colors.on_error_container.light.hex}}",
+ "created": "{{colors.tertiary.light.hex}}",
+ "created.background": "{{colors.tertiary_container.light.hex}}80",
+ "created.border": "{{colors.on_tertiary_container.light.hex}}",
+ "deleted": "{{colors.error.light.hex}}",
+ "deleted.background": "{{colors.error_container.light.hex}}80",
+ "deleted.border": "{{colors.on_error_container.light.hex}}",
+ "error": "{{colors.error.light.hex}}",
+ "error.background": "{{colors.error_container.light.hex}}",
+ "error.border": "{{colors.on_error_container.light.hex}}",
+ "hidden": "{{colors.outline_variant.light.hex}}",
+ "hidden.border": "{{colors.outline_variant.light.hex}}60",
+ "hint": "{{colors.primary.light.hex}}",
+ "hint.background": "{{colors.primary_container.light.hex}}80",
+ "hint.border": "{{colors.on_primary_container.light.hex}}",
+ "ignored": "{{colors.on_surface_variant.light.hex}}60",
+ "ignored.background": "{{colors.surface_variant.light.hex}}40",
+ "ignored.border": "{{colors.outline_variant.light.hex}}40",
+ "info": "{{colors.primary.light.hex}}",
+ "info.background": "{{colors.primary_container.light.hex}}80",
+ "info.border": "{{colors.on_primary_container.light.hex}}",
+ "modified": "{{colors.secondary.light.hex}}",
+ "modified.background": "{{colors.secondary_container.light.hex}}80",
+ "modified.border": "{{colors.on_secondary_container.light.hex}}",
+ "predictive": "{{colors.on_surface_variant.light.hex}}80",
+ "predictive.border": "{{colors.outline.light.hex}}",
+ "predictive.background": "{{colors.surface_container_highest.light.hex}}80",
+ "renamed": "{{colors.secondary.light.hex}}",
+ "renamed.border": "{{colors.on_secondary_container.light.hex}}",
+ "renamed.background": "{{colors.secondary_container.light.hex}}80",
+ "success": "{{colors.tertiary.light.hex}}",
+ "success.background": "{{colors.tertiary_container.light.hex}}80",
+ "success.border": "{{colors.on_tertiary_container.light.hex}}",
+ "unreachable": "{{colors.on_surface_variant.light.hex}}60",
+ "unreachable.background": "{{colors.surface_variant.light.hex}}40",
+ "unreachable.border": "{{colors.outline_variant.light.hex}}60",
+ "warning": "{{colors.tertiary_fixed_dim.light.hex}}",
+ "warning.background": "{{colors.tertiary_container.light.hex}}80",
+ "warning.border": "{{colors.on_tertiary_container.light.hex}}",
+ "players": [
+ {
+ "cursor": "{{colors.primary.light.hex}}",
+ "background": "{{colors.primary_container.light.hex}}80",
+ "selection": "{{colors.primary_container.light.hex}}60"
+ },
+ {
+ "cursor": "{{colors.secondary.light.hex}}",
+ "background": "{{colors.secondary_container.light.hex}}80",
+ "selection": "{{colors.secondary_container.light.hex}}60"
+ }
+ ],
+ "syntax": {
+ "boolean": {
+ "color": "{{colors.tertiary.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "comment": {
+ "color": "{{colors.on_surface_variant.light.hex}}",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "comment.doc": {
+ "color": "{{colors.on_surface_variant.light.hex}}",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "constant": {
+ "color": "{{colors.tertiary.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "constructor": {
+ "color": "{{colors.secondary.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "emphasis": {
+ "color": "{{colors.primary.light.hex}}",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "emphasis.strong": {
+ "color": "{{colors.primary.light.hex}}",
+ "font_style": null,
+ "font_weight": 700
+ },
+ "function": {
+ "color": "{{colors.primary.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "keyword": {
+ "color": "{{colors.secondary.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "number": {
+ "color": "{{colors.tertiary_fixed.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "operator": {
+ "color": "{{colors.on_surface_variant.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "property": {
+ "color": "{{colors.on_surface.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation": {
+ "color": "{{colors.on_surface_variant.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.bracket": {
+ "color": "{{colors.secondary_fixed.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.delimiter": {
+ "color": "{{colors.on_surface_variant.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.list_marker": {
+ "color": "{{colors.on_surface_variant.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.special": {
+ "color": "{{colors.secondary.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string": {
+ "color": "{{colors.tertiary.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.escape": {
+ "color": "{{colors.tertiary_fixed_dim.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.regex": {
+ "color": "{{colors.tertiary_fixed.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.special": {
+ "color": "{{colors.on_tertiary_container.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.special.symbol": {
+ "color": "{{colors.tertiary.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "tag": {
+ "color": "{{colors.secondary.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "text.literal": {
+ "color": "{{colors.tertiary.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "type": {
+ "color": "{{colors.primary_fixed.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable": {
+ "color": "{{colors.on_surface.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable.special": {
+ "color": "{{colors.primary.light.hex}}",
+ "font_style": null,
+ "font_weight": null
+ }
+ }
+ }
+ }
+ ]
+ }
+ '';
+ };
+ };
+}
diff --git a/common/modules/matugen/templates/matugen-zen.nix b/common/modules/matugen/templates/matugen-zen.nix
new file mode 100644
index 0000000..142e5ff
--- /dev/null
+++ b/common/modules/matugen/templates/matugen-zen.nix
@@ -0,0 +1,105 @@
+{
+ xdg.configFile = {
+ "matugen/templates/zen.css" = {
+ enable = true;
+ text =
+ # css
+ ''
+ :root {
+ /* --- Matugen Colors (UI) --- */
+ --zen-primary-color: {{colors.primary_container.default.hex}} !important;
+ --toolbarbutton-icon-fill: {{colors.primary.default.hex}} !important;
+ --toolbar-field-color: {{colors.on_background.default.hex}} !important;
+ --tab-selected-textcolor: {{colors.primary.default.hex}} !important;
+ --toolbar-color: {{colors.on_background.default.hex}} !important;
+ --arrowpanel-color: {{colors.on_surface.default.hex}} !important;
+ --arrowpanel-background: {{colors.surface_container.default.hex}} !important;
+ --sidebar-text-color: {{colors.on_background.default.hex}} !important;
+ /* --zen-main-browser-background: {{colors.background.default.hex}} !important; */
+ }
+
+ .sidebar-placesTree {
+ background-color: {{colors.surface_container.default.hex}} !important;
+ }
+
+ #zen-workspaces-button {
+ background-color: {{colors.surface_container.default.hex}} !important;
+ }
+
+ #TabsToolbar {
+ background-color: {{colors.background.default.hex}} !important;
+ }
+
+ .urlbar-background {
+ background-color: {{colors.surface_container.default.hex}} !important;
+ }
+
+ .urlbar-input::selection {
+ color: {{colors.on_primary.default.hex}} !important;
+ background-color: {{colors.primary.default.hex}} !important;
+ }
+
+ .urlbarView-url {
+ color: {{colors.on_surface_variant.default.hex}} !important;
+ }
+
+ toolbar .toolbarbutton-1 {
+ &:not([disabled]) {
+ &:is([open], [checked])
+ > :is(
+ .toolbarbutton-icon,
+ .toolbarbutton-text,
+ .toolbarbutton-badge-stack
+ ) {
+ fill: {{colors.primary.default.hex}}
+ }
+ }
+ }
+
+ .identity-color-blue {
+ --identity-tab-color: \{{color12}} !important;
+ --identity-icon-color: \{{color12}} !important;
+ }
+
+ .identity-color-turquoise {
+ --identity-tab-color: \{{color6}} !important;
+ --identity-icon-color: \{{color6}} !important;
+ }
+
+ .identity-color-green {
+ --identity-tab-color: \{{color10}} !important;
+ --identity-icon-color: \{{color10}} !important;
+ }
+
+ .identity-color-yellow {
+ --identity-tab-color: \{{color11}} !important;
+ --identity-icon-color: \{{color11}} !important;
+ }
+
+ .identity-color-orange {
+ --identity-tab-color: \{{color3}} !important;
+ --identity-icon-color: \{{color3}} !important;
+ }
+
+ .identity-color-red {
+ --identity-tab-color: \{{color9}} !important;
+ --identity-icon-color: \{{color9}} !important;
+ }
+
+ .identity-color-pink {
+ --identity-tab-color: \{{color13}} !important;
+ --identity-icon-color: \{{color13}} !important;
+ }
+
+ .identity-color-purple {
+ --identity-tab-color: \{{color5}} !important;
+ --identity-icon-color: \{{color5}} !important;
+ }
+
+ #zen-appcontent-navbar-container {
+ background-color: {{colors.background.default.hex}} !important;
+ }
+ '';
+ };
+ };
+}