diff options
Diffstat (limited to 'common/modules/matugen')
17 files changed, 1802 insertions, 0 deletions
diff --git a/common/modules/matugen/default.nix b/common/modules/matugen/default.nix new file mode 100644 index 0000000..29599bd --- /dev/null +++ b/common/modules/matugen/default.nix @@ -0,0 +1,186 @@ +{ + homeManager, + inputs, + moduleNameSpace, + ... +}: + +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.${moduleNameSpace}.matugen; + link_zen = pkgs.writeShellScript "link_zen" '' + export PROFILE_DIR=$(find ~/.config/zen/ -maxdepth 1 -type d -name "*.Default Profile" | head -n 1) + mkdir -p "$PROFILE_DIR/chrome" + ln -sf ~/.cache/wallust/userChrome.css "$PROFILE_DIR/chrome/userChrome.css" + ''; + update_gtkcolors = pkgs.writeShellScript "update_gtkcolors" '' + dconf write /org/gnome/desktop/interface/color-scheme "'prefer-light'" + sleep 0.1 + dconf write /org/gnome/desktop/interface/color-scheme "'prefer-dark'" + + systemctl --user restart xdg-desktop-portal-gtk + ''; +in +{ + imports = [ ./templates ]; + + options.${moduleNameSpace}.matugen = { + enable = lib.mkEnableOption "Enable Dynamic colors"; + }; + + config = lib.mkIf cfg.enable { + programs.wallust = { + enable = true; + settings = { + backend = "wal"; + color_space = "labmixed"; + palette = "dark16"; + fallback_generator = "interpolate"; + threshold = 11; + check_contrast = true; + templates = { + foot = { + template = "foot-colors.ini"; + target = "~/.config/foot/colors.ini"; + }; + alacritty = { + template = "alacritty-colors.toml"; + target = "~/.config/alacritty/colors.toml"; + }; + ghostty = { + template = "ghostty-colors.conf"; + target = "~/.config/ghostty/colors.conf"; + }; + zen = { + template = "userChrome.css"; + target = "~/.cache/wallust/userChrome.css"; + }; + xresources = { + template = "colors-xresources"; + target = "~/.config/x11/matugen.Xresources"; + }; + }; + }; + }; + + xdg.configFile = { + "matugen/config.toml" = { + # enable = !config.programs.noctalia-shell.enable; + text = + # toml + '' + [config] + ${lib.optionalString config.beeMods.terminal.alacritty '' + [templates.alacritty] + input_path = '~/.config/matugen/templates/alacritty-colors.toml' + output_path = '~/.config/wallust/templates/alacritty-colors.toml' + ''} + + ${lib.optionalString config.beeMods.terminal.foot '' + [templates.foot] + input_path = '~/.config/matugen/templates/foot-colors.ini' + output_path = '~/.config/wallust/templates/foot-colors.ini' + ''} + + ${lib.optionalString config.beeMods.terminal.ghostty '' + [templates.ghostty] + input_path = '~/.config/matugen/templates/ghostty.conf' + output_path = '~/.config/wallust/templates/ghostty-colors.conf' + ''} + + ${lib.optionalString config.programs.zathura.enable '' + [templates.zathura] + input_path = '~/.config/matugen/templates/zathura.toml' + output_path = '~/.config/zathura/matugen' + ''} + + ${lib.optionalString config.programs.swaylock.enable '' + [templates.swaylock] + input_path = '~/.config/matugen/templates/swaylock-colors' + output_path = '~/.config/swaylock/swaylock-colors' + ''} + + ${lib.optionalString config.beeMods.mango.enable '' + [templates.mango] + input_path = '~/.config/matugen/templates/mango.conf' + output_path = '~/.config/mango/mango-colors.conf' + post_hook = 'mmsg -d reload_config' + ''} + + ${lib.optionalString config.programs.btop.enable '' + [templates.btop] + input_path = '~/.config/matugen/templates/btop.theme' + output_path = '~/.config/btop/themes/matugen.theme' + ''} + + ${lib.optionalString config.programs.yazi.enable '' + [templates.yazi] + input_path = '~/.config/matugen/templates/yazi.toml' + output_path = '~/.config/yazi/theme.toml' + ''} + + + ${lib.optionalString config.beeMods.mango.enable '' + [templates.Xresources] + input_path = "~/.config/matugen/templates/colors-xresources" + output_path = "~/.config/wallust/templates/colors-xresources" + ''} + + + ${lib.optionalString config.programs.vesktop.enable '' + [templates.discord] + input_path = "~/.config/matugen/templates/discord.css" + output_path = "~/.config/vesktop/themes/midnight.css" + ''} + + ${lib.optionalString config.beeMods.mango.waybar '' + [templates.waybar] + input_path = "~/.config/matugen/templates/waybar.css" + output_path = "~/.config/waybar/colors.css" + # post_hook = "pkill -SIGUSR2 waybar" + ''} + + [templates.wlogout] + input_path = "~/.config/matugen/templates/wlogout.css" + output_path = "~/.config/wlogout/colors.css" + + [templates.dunst] + input_path = '~/.config/matugen/templates/dunstrc' + output_path = '~/.config/dunst/dunstrc' + post_hook = "dunstctl reload" + + ${lib.optionalString config.programs.rofi.enable '' + [templates.rofi] + input_path = '~/.config/matugen/templates/rofi-colors.rasi' + output_path = '~/.config/rofi/shared/colors.rasi' + ''} + + ${lib.optionalString config.gtk.enable '' + [templates.gtk3] + input_path = '~/.config/matugen/templates/colors.css' + output_path = '~/.config/gtk-3.0/colors.css' + + [templates.gtk4] + input_path = '~/.config/matugen/templates/colors.css' + output_path = '~/.config/gtk-4.0/colors.css' + post_hook = "${update_gtkcolors}" + ''} + + [templates.zed] + input_path = '~/.config/matugen/templates/zed.json' + output_path = '~/.config/zed/themes/matugen.json' + + [templates.zen] + input_path = '~/.config/matugen/templates/zen.css' + output_path = '~/.config/wallust/templates/userChrome.css' + post_hook = "${link_zen}" + ''; + }; + }; + }; +} 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; + } + ''; + }; + }; +} |
