remove matugen remnants — theming is now handled by stylix
Delete 8 unused matugen template files, remove the matugen package, homepage custom.css watcher infrastructure, and the wallpaper shell function. Update remaining comments to reference stylix. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
53c3fedf52
commit
1aebc200b6
13 changed files with 5 additions and 754 deletions
|
|
@ -16,7 +16,6 @@
|
|||
screen
|
||||
yt-dlp
|
||||
ghostty.terminfo
|
||||
matugen
|
||||
usbutils
|
||||
lm_sensors
|
||||
(pkgs.writeShellScriptBin "transcode-hevc" ''
|
||||
|
|
|
|||
|
|
@ -60,34 +60,11 @@ in
|
|||
{
|
||||
config = lib.mkIf (config.networking.hostName == "FredOS-Mediaserver") {
|
||||
|
||||
# Writable location for matugen-generated custom.css; bind-mounted into
|
||||
# the homepage service namespace over the Nix-managed /etc path.
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /var/lib/homepage-custom-css 0755 fred users -"
|
||||
"f /var/lib/homepage-custom-css/custom.css 0644 fred users -"
|
||||
"d /var/lib/homepage-updates 0755 fred users -"
|
||||
''f /var/lib/homepage-updates/latest.json 0644 fred users - {\x22date\x22:\x22pending\x22,\x22changes\x22:\x22run update\x22,\x22closure\x22:\x22+0B\x22,\x22kernel\x22:\x22-\x22}''
|
||||
];
|
||||
|
||||
systemd.services.homepage-dashboard.serviceConfig.BindPaths = [
|
||||
"/var/lib/homepage-custom-css/custom.css:/etc/homepage-dashboard/custom.css"
|
||||
];
|
||||
|
||||
# Auto-restart homepage when matugen rewrites the custom.css
|
||||
systemd.paths.homepage-css-reload = {
|
||||
description = "Watch matugen custom.css for changes";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
pathConfig.PathChanged = "/var/lib/homepage-custom-css/custom.css";
|
||||
};
|
||||
|
||||
systemd.services.homepage-css-reload = {
|
||||
description = "Restart homepage after custom.css changes";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${pkgs.systemd}/bin/systemctl restart homepage-dashboard.service";
|
||||
};
|
||||
};
|
||||
|
||||
# Oneshot service that extracts API keys and writes /etc/homepage-secrets
|
||||
systemd.services.homepage-extract-secrets = {
|
||||
description = "Extract API keys for Homepage dashboard";
|
||||
|
|
|
|||
|
|
@ -128,11 +128,5 @@
|
|||
end
|
||||
|
||||
function fish_right_prompt; end
|
||||
|
||||
# Regenerate wallpaper color theme
|
||||
function wallpaper
|
||||
matugen image ~/.local/share/backgrounds/wallpaper.png --source-color-index 0 -m dark
|
||||
echo "Wallpaper colors updated! Shell theme reloaded."
|
||||
end
|
||||
'';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -112,10 +112,10 @@
|
|||
cp -rL "$tmpthemes/Papirus-Dark" $out/share/icons/
|
||||
'';
|
||||
|
||||
# Map matugen's Material You placeholders to the closest base16 slot
|
||||
# in stylix's palette. The mapping is approximate (Material You has
|
||||
# more semantic colours than base16), but covers the placeholders
|
||||
# used in our Zen userChrome and Vesktop quickCss templates.
|
||||
# Map Material You placeholders to the closest base16 slot in stylix's
|
||||
# palette. The mapping is approximate (Material You has more semantic
|
||||
# colours than base16), but covers the placeholders used in our Zen
|
||||
# userChrome and Vesktop quickCss templates.
|
||||
stylixize = builtins.replaceStrings
|
||||
[
|
||||
"{{colors.primary.default.hex}}"
|
||||
|
|
|
|||
|
|
@ -1,54 +0,0 @@
|
|||
# Matugen-generated btop theme based on wallpaper
|
||||
|
||||
theme[main_bg]="{{colors.surface.default.hex}}"
|
||||
theme[main_fg]="{{colors.on_surface.default.hex}}"
|
||||
theme[title]="{{colors.on_surface.default.hex}}"
|
||||
theme[hi_fg]="{{colors.primary.default.hex}}"
|
||||
theme[selected_bg]="{{colors.surface_container_high.default.hex}}"
|
||||
theme[selected_fg]="{{colors.primary.default.hex}}"
|
||||
theme[inactive_fg]="{{colors.on_surface_variant.default.hex}}"
|
||||
theme[graph_text]="{{colors.on_surface.default.hex}}"
|
||||
theme[meter_bg]="{{colors.surface_container.default.hex}}"
|
||||
theme[proc_misc]="{{colors.tertiary.default.hex}}"
|
||||
|
||||
theme[cpu_box]="{{colors.outline.default.hex}}"
|
||||
theme[mem_box]="{{colors.outline.default.hex}}"
|
||||
theme[net_box]="{{colors.outline.default.hex}}"
|
||||
theme[proc_box]="{{colors.outline.default.hex}}"
|
||||
theme[div_line]="{{colors.outline_variant.default.hex}}"
|
||||
|
||||
theme[temp_start]="{{colors.tertiary.default.hex}}"
|
||||
theme[temp_mid]="{{colors.secondary.default.hex}}"
|
||||
theme[temp_end]="{{colors.error.default.hex}}"
|
||||
|
||||
theme[cpu_start]="{{colors.primary.default.hex}}"
|
||||
theme[cpu_mid]="{{colors.secondary.default.hex}}"
|
||||
theme[cpu_end]="{{colors.tertiary.default.hex}}"
|
||||
|
||||
theme[free_start]="{{colors.primary.default.hex}}"
|
||||
theme[free_mid]="{{colors.secondary.default.hex}}"
|
||||
theme[free_end]="{{colors.tertiary.default.hex}}"
|
||||
|
||||
theme[cached_start]="{{colors.primary.default.hex}}"
|
||||
theme[cached_mid]="{{colors.secondary.default.hex}}"
|
||||
theme[cached_end]="{{colors.tertiary.default.hex}}"
|
||||
|
||||
theme[available_start]="{{colors.primary.default.hex}}"
|
||||
theme[available_mid]="{{colors.secondary.default.hex}}"
|
||||
theme[available_end]="{{colors.tertiary.default.hex}}"
|
||||
|
||||
theme[used_start]="{{colors.primary.default.hex}}"
|
||||
theme[used_mid]="{{colors.secondary.default.hex}}"
|
||||
theme[used_end]="{{colors.tertiary.default.hex}}"
|
||||
|
||||
theme[download_start]="{{colors.primary.default.hex}}"
|
||||
theme[download_mid]="{{colors.secondary.default.hex}}"
|
||||
theme[download_end]="{{colors.tertiary.default.hex}}"
|
||||
|
||||
theme[upload_start]="{{colors.primary.default.hex}}"
|
||||
theme[upload_mid]="{{colors.secondary.default.hex}}"
|
||||
theme[upload_end]="{{colors.tertiary.default.hex}}"
|
||||
|
||||
theme[process_start]="{{colors.primary.default.hex}}"
|
||||
theme[process_mid]="{{colors.secondary.default.hex}}"
|
||||
theme[process_end]="{{colors.tertiary.default.hex}}"
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
background = {{colors.background.default.hex}}
|
||||
foreground = {{colors.on_surface.default.hex}}
|
||||
cursor-color = {{colors.primary.default.hex}}
|
||||
cursor-text = {{colors.on_primary.default.hex}}
|
||||
selection-background = {{colors.secondary_container.default.hex}}
|
||||
selection-foreground = {{colors.on_secondary_container.default.hex}}
|
||||
palette = 0={{colors.surface_container_high.default.hex}}
|
||||
palette = 1={{colors.error.default.hex}}
|
||||
palette = 2={{colors.primary.default.hex}}
|
||||
palette = 3={{colors.tertiary.default.hex}}
|
||||
palette = 4={{colors.secondary.default.hex}}
|
||||
palette = 5={{colors.primary_fixed.default.hex}}
|
||||
palette = 6={{colors.secondary_fixed.default.hex}}
|
||||
palette = 7={{colors.on_surface_variant.default.hex}}
|
||||
palette = 8={{colors.outline.default.hex}}
|
||||
palette = 9={{colors.error_container.default.hex}}
|
||||
palette = 10={{colors.primary_container.default.hex}}
|
||||
palette = 11={{colors.tertiary_container.default.hex}}
|
||||
palette = 12={{colors.secondary_container.default.hex}}
|
||||
palette = 13={{colors.inverse_primary.default.hex}}
|
||||
palette = 14={{colors.outline_variant.default.hex}}
|
||||
palette = 15={{colors.on_surface.default.hex}}
|
||||
|
|
@ -1,332 +0,0 @@
|
|||
/* Wallpaper-based GNOME Shell colors generated by matugen */
|
||||
|
||||
/* Override system accent color variables */
|
||||
stage {
|
||||
-st-accent-color: {{colors.primary_container.default.hex}} !important;
|
||||
-st-accent-fg-color: {{colors.on_primary_container.default.hex}} !important;
|
||||
}
|
||||
|
||||
#panel {
|
||||
background-color: {{colors.surface_container.default.hex}} !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
#panel .panel-button {
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
#panel .panel-button:hover, #panel .panel-button:focus {
|
||||
background-color: transparent !important;
|
||||
box-shadow: inset 0 0 0 100px {{colors.surface_container_high.default.hex}} !important;
|
||||
}
|
||||
|
||||
#panel .panel-button:active, #panel .panel-button:checked,
|
||||
#panel .panel-button:checked:hover {
|
||||
background-color: transparent !important;
|
||||
box-shadow: inset 0 0 0 100px {{colors.surface_container_highest.default.hex}} !important;
|
||||
}
|
||||
|
||||
.quick-settings {
|
||||
background-color: {{colors.surface_container.default.hex}} !important;
|
||||
}
|
||||
|
||||
.quick-settings-grid .quick-toggle {
|
||||
background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Checked toggles — override accent color */
|
||||
.quick-toggle:checked {
|
||||
background-color: {{colors.primary_container.default.hex}} !important;
|
||||
color: {{colors.on_primary_container.default.hex}} !important;
|
||||
}
|
||||
|
||||
.quick-toggle:checked:hover {
|
||||
background-color: {{colors.primary_container.default.hex}} !important;
|
||||
}
|
||||
|
||||
.quick-toggle:checked:active {
|
||||
background-color: {{colors.primary_container.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Quick toggle icons */
|
||||
.quick-toggle .quick-toggle-icon {
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.quick-toggle:checked .quick-toggle-icon {
|
||||
color: {{colors.on_primary_container.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Chevron/arrow menu button (the > on Wired, Power Mode etc) */
|
||||
.quick-toggle-has-menu .quick-toggle-menu-button {
|
||||
background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.quick-toggle-has-menu .quick-toggle-menu-button:checked {
|
||||
background-color: {{colors.primary_container.default.hex}} !important;
|
||||
color: {{colors.on_primary_container.default.hex}} !important;
|
||||
}
|
||||
|
||||
.quick-toggle-has-menu .quick-toggle-menu-button:checked:hover {
|
||||
background-color: {{colors.primary_container.default.hex}} !important;
|
||||
}
|
||||
|
||||
.quick-toggle-has-menu .quick-toggle-separator {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
/* Icons and arrows inside quick toggles */
|
||||
.quick-toggle StIcon {
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.quick-toggle:checked StIcon {
|
||||
color: {{colors.on_primary_container.default.hex}} !important;
|
||||
}
|
||||
|
||||
.quick-toggle-menu-button StIcon {
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.quick-toggle-menu-button:checked StIcon {
|
||||
color: {{colors.on_primary_container.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Icon buttons in quick settings header */
|
||||
.quick-settings .icon-button {
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.quick-settings .icon-button StIcon {
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Sliders (volume, brightness) */
|
||||
.slider {
|
||||
color: {{colors.primary.default.hex}} !important;
|
||||
-barlevel-active-background-color: {{colors.primary.default.hex}} !important;
|
||||
-barlevel-background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Quick toggle sub-menus (e.g. Wired Connections dropdown) */
|
||||
.quick-toggle-menu {
|
||||
background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.quick-toggle-menu .header .title {
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Active icon in sub-menu header (e.g. Wired Connections circle icon) */
|
||||
.quick-toggle-menu .header .icon.active {
|
||||
background-color: {{colors.primary_container.default.hex}} !important;
|
||||
color: {{colors.on_primary_container.default.hex}} !important;
|
||||
}
|
||||
|
||||
.quick-toggle-menu .header .icon {
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.quick-toggle-menu .popup-menu-item {
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.popup-menu-content {
|
||||
background-color: {{colors.surface_container.default.hex}} !important;
|
||||
}
|
||||
|
||||
.popup-sub-menu .popup-menu-item {
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.notification-banner {
|
||||
background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Calendar / date menu panel */
|
||||
.calendar, .datemenu-today-button, .events-button,
|
||||
.world-clocks-button, .weather-button, .message {
|
||||
background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.calendar .calendar-month-header .pager-button {
|
||||
background-color: transparent !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.calendar .calendar-month-header .pager-button:hover {
|
||||
background-color: {{colors.surface_container_highest.default.hex}} !important;
|
||||
}
|
||||
|
||||
.calendar .calendar-month-header .calendar-month-label {
|
||||
background-color: transparent !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.calendar .calendar-day-heading, .calendar .calendar-day {
|
||||
background-color: transparent !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.calendar .calendar-day:hover {
|
||||
background-color: {{colors.surface_container_highest.default.hex}} !important;
|
||||
}
|
||||
|
||||
.calendar .calendar-day.calendar-today {
|
||||
background-color: {{colors.primary_container.default.hex}} !important;
|
||||
color: {{colors.on_primary_container.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Notification / message list */
|
||||
.message-list-placeholder {
|
||||
color: {{colors.on_surface_variant.default.hex}} !important;
|
||||
}
|
||||
|
||||
.message-list-controls {
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Round icon buttons in quick settings header (settings gear, lock, power etc) */
|
||||
.quick-settings .icon-button {
|
||||
background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.quick-settings .icon-button:hover {
|
||||
background-color: {{colors.surface_container_highest.default.hex}} !important;
|
||||
}
|
||||
|
||||
.quick-settings .icon-button:active {
|
||||
background-color: {{colors.surface_container_highest.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Overview background */
|
||||
#overview {
|
||||
background-color: rgba({{colors.surface.default.red}}, {{colors.surface.default.green}}, {{colors.surface.default.blue}}, 0.85) !important;
|
||||
}
|
||||
|
||||
/* Dash (app dock at bottom of overview) */
|
||||
#dash .dash-background {
|
||||
background-color: {{colors.surface_container.default.hex}} !important;
|
||||
}
|
||||
|
||||
#dash .show-apps .overview-icon {
|
||||
background-color: transparent !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Search bar in overview */
|
||||
.search-entry {
|
||||
background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.search-entry:focus {
|
||||
background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
border-color: {{colors.primary.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Search results section */
|
||||
.search-section-content {
|
||||
background-color: {{colors.surface_container.default.hex}} !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Search result items */
|
||||
.list-search-result, .search-provider-icon {
|
||||
background-color: {{colors.surface_container.default.hex}} !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.list-search-result:hover, .search-provider-icon:hover {
|
||||
background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Search result tiles (scoped to search section to avoid dash) */
|
||||
.search-section-content .overview-tile,
|
||||
.search-section-content .grid-search-result {
|
||||
background-color: {{colors.surface_container.default.hex}} !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.search-section-content .overview-tile:hover,
|
||||
.search-section-content .grid-search-result:hover {
|
||||
background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
}
|
||||
|
||||
.search-section-content .overview-tile:focus,
|
||||
.search-section-content .grid-search-result:focus {
|
||||
background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* App grid / app drawer */
|
||||
.app-folder {
|
||||
background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
}
|
||||
|
||||
.app-folder-dialog {
|
||||
background-color: {{colors.surface_container.default.hex}} !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.app-folder-dialog .folder-name-entry {
|
||||
background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Popup menus */
|
||||
.popup-menu {
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Window close button in overview */
|
||||
.window-close {
|
||||
background-color: {{colors.surface_container_highest.default.hex}} !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.window-close:hover {
|
||||
background-color: {{colors.primary_container.default.hex}} !important;
|
||||
color: {{colors.on_primary_container.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Page navigation arrows (next/prev page in app drawer) */
|
||||
.page-navigation-arrow {
|
||||
background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
.page-navigation-arrow:hover {
|
||||
background-color: {{colors.surface_container_highest.default.hex}} !important;
|
||||
}
|
||||
|
||||
.app-folder-dialog .page-navigation-arrow {
|
||||
background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Dash app icon highlights (hover/focus/active) */
|
||||
#dash .dash-item-container .overview-tile .overview-icon,
|
||||
#dash .dash-item-container .grid-search-result .overview-icon {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
#dash .dash-item-container .overview-tile:hover .overview-icon,
|
||||
#dash .dash-item-container .grid-search-result:hover .overview-icon {
|
||||
background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
}
|
||||
|
||||
#dash .dash-item-container .overview-tile:active .overview-icon,
|
||||
#dash .dash-item-container .grid-search-result:active .overview-icon {
|
||||
background-color: {{colors.surface_container_highest.default.hex}} !important;
|
||||
}
|
||||
|
||||
#dash .dash-item-container .overview-tile:focus .overview-icon,
|
||||
#dash .dash-item-container .grid-search-result:focus .overview-icon {
|
||||
background-color: {{colors.surface_container_high.default.hex}} !important;
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
@define-color accent_color {{colors.primary.default.hex}};
|
||||
@define-color accent_bg_color {{colors.primary_container.default.hex}};
|
||||
@define-color accent_fg_color {{colors.on_primary_container.default.hex}};
|
||||
@define-color window_bg_color {{colors.surface.default.hex}};
|
||||
@define-color window_fg_color {{colors.on_surface.default.hex}};
|
||||
@define-color view_bg_color {{colors.surface_container_low.default.hex}};
|
||||
@define-color view_fg_color {{colors.on_surface.default.hex}};
|
||||
@define-color headerbar_bg_color {{colors.surface_container.default.hex}};
|
||||
@define-color headerbar_fg_color {{colors.on_surface.default.hex}};
|
||||
@define-color card_bg_color {{colors.surface_container_high.default.hex}};
|
||||
@define-color card_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}};
|
||||
@define-color popover_bg_color {{colors.surface_container.default.hex}};
|
||||
@define-color popover_fg_color {{colors.on_surface.default.hex}};
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
@define-color accent_color {{colors.primary.default.hex}};
|
||||
@define-color accent_bg_color {{colors.primary_container.default.hex}};
|
||||
@define-color accent_fg_color {{colors.on_primary_container.default.hex}};
|
||||
@define-color window_bg_color {{colors.surface.default.hex}};
|
||||
@define-color window_fg_color {{colors.on_surface.default.hex}};
|
||||
@define-color view_bg_color {{colors.surface_container_low.default.hex}};
|
||||
@define-color view_fg_color {{colors.on_surface.default.hex}};
|
||||
@define-color headerbar_bg_color {{colors.surface_container.default.hex}};
|
||||
@define-color headerbar_fg_color {{colors.on_surface.default.hex}};
|
||||
@define-color card_bg_color {{colors.surface_container_high.default.hex}};
|
||||
@define-color card_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}};
|
||||
@define-color popover_bg_color {{colors.surface_container.default.hex}};
|
||||
@define-color popover_fg_color {{colors.on_surface.default.hex}};
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
/* Matugen-generated Homepage theme based on wallpaper */
|
||||
|
||||
/* Page background — overrides body default */
|
||||
html, body, #__next, main {
|
||||
background-color: {{colors.surface.default.hex}} !important;
|
||||
color: {{colors.on_surface.default.hex}} !important;
|
||||
}
|
||||
|
||||
/* Override Tailwind's slate palette (homepage's default color scheme).
|
||||
Each slate shade maps to the closest matugen surface/text color so
|
||||
the built-in theme classes render with wallpaper colors. */
|
||||
.bg-slate-50, .dark\:bg-slate-50 { background-color: {{colors.surface_container_high.default.hex}} !important; }
|
||||
.bg-slate-100, .dark\:bg-slate-100 { background-color: {{colors.surface_container_high.default.hex}} !important; }
|
||||
.bg-slate-200, .dark\:bg-slate-200 { background-color: {{colors.surface_container.default.hex}} !important; }
|
||||
.bg-slate-300, .dark\:bg-slate-300 { background-color: {{colors.surface_container.default.hex}} !important; }
|
||||
.bg-slate-400, .dark\:bg-slate-400 { background-color: {{colors.surface_container_low.default.hex}} !important; }
|
||||
.bg-slate-500, .dark\:bg-slate-500 { background-color: {{colors.surface_container_low.default.hex}} !important; }
|
||||
.bg-slate-600, .dark\:bg-slate-600 { background-color: {{colors.surface_container_low.default.hex}} !important; }
|
||||
.bg-slate-700, .dark\:bg-slate-700 { background-color: {{colors.surface_container.default.hex}} !important; }
|
||||
.bg-slate-800, .dark\:bg-slate-800 { background-color: {{colors.surface_container.default.hex}} !important; }
|
||||
.bg-slate-900, .dark\:bg-slate-900 { background-color: {{colors.surface.default.hex}} !important; }
|
||||
.bg-slate-950, .dark\:bg-slate-950 { background-color: {{colors.surface.default.hex}} !important; }
|
||||
|
||||
.text-slate-50, .dark\:text-slate-50 { color: {{colors.on_surface.default.hex}} !important; }
|
||||
.text-slate-100, .dark\:text-slate-100 { color: {{colors.on_surface.default.hex}} !important; }
|
||||
.text-slate-200, .dark\:text-slate-200 { color: {{colors.on_surface.default.hex}} !important; }
|
||||
.text-slate-300, .dark\:text-slate-300 { color: {{colors.on_surface.default.hex}} !important; }
|
||||
.text-slate-400, .dark\:text-slate-400 { color: {{colors.on_surface_variant.default.hex}} !important; }
|
||||
.text-slate-500, .dark\:text-slate-500 { color: {{colors.on_surface_variant.default.hex}} !important; }
|
||||
.text-slate-600, .dark\:text-slate-600 { color: {{colors.outline.default.hex}} !important; }
|
||||
.text-slate-700, .dark\:text-slate-700 { color: {{colors.on_surface.default.hex}} !important; }
|
||||
.text-slate-800, .dark\:text-slate-800 { color: {{colors.on_surface.default.hex}} !important; }
|
||||
.text-slate-900, .dark\:text-slate-900 { color: {{colors.on_surface.default.hex}} !important; }
|
||||
|
||||
.border-slate-50, .dark\:border-slate-50,
|
||||
.border-slate-100, .dark\:border-slate-100,
|
||||
.border-slate-200, .dark\:border-slate-200,
|
||||
.border-slate-300, .dark\:border-slate-300,
|
||||
.border-slate-400, .dark\:border-slate-400,
|
||||
.border-slate-500, .dark\:border-slate-500,
|
||||
.border-slate-600, .dark\:border-slate-600,
|
||||
.border-slate-700, .dark\:border-slate-700,
|
||||
.border-slate-800, .dark\:border-slate-800 { border-color: {{colors.outline_variant.default.hex}} !important; }
|
||||
|
||||
/* Accent — used on links, active states, progress bars */
|
||||
a:hover, .service-container:hover .service-name,
|
||||
.resources .progress-bar, .resources .usage-bar-fill {
|
||||
color: {{colors.primary.default.hex}} !important;
|
||||
}
|
||||
|
||||
.bg-theme-500, .bg-theme-600, .bg-theme-400 {
|
||||
background-color: {{colors.primary.default.hex}} !important;
|
||||
}
|
||||
|
|
@ -1,143 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Generated by matugen — recolors Adwaita folder icons with wallpaper palette
|
||||
# and pulls in Papirus mimetype icons for better file type distinction
|
||||
ICON_DIR="$HOME/.local/share/icons/WallpaperAdwaita"
|
||||
ADWAITA="/run/current-system/sw/share/icons/Adwaita"
|
||||
PAPIRUS="/run/current-system/sw/share/icons/Papirus-Dark"
|
||||
|
||||
mkdir -p "$ICON_DIR/scalable/places"
|
||||
|
||||
# Create index.theme with all mimetype sizes
|
||||
cat > "$ICON_DIR/index.theme" << 'THEME'
|
||||
[Icon Theme]
|
||||
Name=WallpaperAdwaita
|
||||
Comment=Adwaita with wallpaper-colored folders and Papirus mimetypes
|
||||
Inherits=Adwaita,hicolor
|
||||
DisplayDepth=32
|
||||
|
||||
[scalable/places]
|
||||
Size=128
|
||||
MinSize=16
|
||||
MaxSize=512
|
||||
Type=Scalable
|
||||
Context=Places
|
||||
|
||||
[16x16/mimetypes]
|
||||
Size=16
|
||||
Type=Fixed
|
||||
Context=MimeTypes
|
||||
|
||||
[22x22/mimetypes]
|
||||
Size=22
|
||||
Type=Fixed
|
||||
Context=MimeTypes
|
||||
|
||||
[32x32/mimetypes]
|
||||
Size=32
|
||||
Type=Fixed
|
||||
Context=MimeTypes
|
||||
|
||||
[48x48/mimetypes]
|
||||
Size=48
|
||||
Type=Fixed
|
||||
Context=MimeTypes
|
||||
|
||||
[64x64/mimetypes]
|
||||
Size=64
|
||||
MinSize=32
|
||||
MaxSize=128
|
||||
Type=Scalable
|
||||
Context=MimeTypes
|
||||
|
||||
[96x96/mimetypes]
|
||||
Size=96
|
||||
MinSize=64
|
||||
MaxSize=256
|
||||
Type=Scalable
|
||||
Context=MimeTypes
|
||||
|
||||
[128x128/mimetypes]
|
||||
Size=128
|
||||
MinSize=64
|
||||
MaxSize=512
|
||||
Type=Scalable
|
||||
Context=MimeTypes
|
||||
THEME
|
||||
|
||||
# Recolor all Adwaita place SVGs with wallpaper palette
|
||||
for svg in "$ADWAITA/scalable/places"/*.svg; do
|
||||
name=$(basename "$svg")
|
||||
sed \
|
||||
-e 's/#438de6/{{colors.primary_container.default.hex}}/gi' \
|
||||
-e 's/#62a0ea/{{colors.primary_fixed_dim.default.hex}}/gi' \
|
||||
-e 's/#a4caee/{{colors.primary_fixed.default.hex}}/gi' \
|
||||
-e 's/#afd4ff/{{colors.primary_fixed.default.hex}}/gi' \
|
||||
-e 's/#c0d5ea/{{colors.primary_fixed.default.hex}}/gi' \
|
||||
"$svg" > "$ICON_DIR/scalable/places/$name"
|
||||
done
|
||||
|
||||
# Copy Papirus mimetype icons at all available sizes
|
||||
for size in 16x16 22x22 32x32 48x48 64x64 96x96 128x128; do
|
||||
if [ -d "$PAPIRUS/$size/mimetypes" ]; then
|
||||
rm -rf "$ICON_DIR/$size/mimetypes"
|
||||
mkdir -p "$ICON_DIR/$size/mimetypes"
|
||||
cp -rL "$PAPIRUS/$size/mimetypes"/* "$ICON_DIR/$size/mimetypes/"
|
||||
fi
|
||||
done
|
||||
|
||||
# Update icon cache
|
||||
gtk-update-icon-cache -f "$ICON_DIR" 2>/dev/null || true
|
||||
|
||||
# Map wallpaper palette to closest GNOME accent color
|
||||
# Primary color RGB: {{colors.primary.default.red}}, {{colors.primary.default.green}}, {{colors.primary.default.blue}}
|
||||
R={{colors.primary.default.red}}
|
||||
G={{colors.primary.default.green}}
|
||||
B={{colors.primary.default.blue}}
|
||||
|
||||
# Simple hue-based mapping to GNOME accent presets
|
||||
if [ "$R" -gt "$G" ] && [ "$R" -gt "$B" ]; then
|
||||
if [ "$B" -gt "$((G + 30))" ]; then
|
||||
ACCENT="purple"
|
||||
elif [ "$G" -gt "$((R / 2))" ]; then
|
||||
ACCENT="orange"
|
||||
else
|
||||
if [ "$B" -gt "$((R / 3))" ]; then
|
||||
ACCENT="pink"
|
||||
else
|
||||
ACCENT="red"
|
||||
fi
|
||||
fi
|
||||
elif [ "$G" -gt "$R" ] && [ "$G" -gt "$B" ]; then
|
||||
if [ "$B" -gt "$((R + 20))" ]; then
|
||||
ACCENT="teal"
|
||||
else
|
||||
ACCENT="green"
|
||||
fi
|
||||
elif [ "$B" -gt "$R" ] && [ "$B" -gt "$G" ]; then
|
||||
if [ "$R" -gt "$((B / 2))" ]; then
|
||||
ACCENT="purple"
|
||||
else
|
||||
ACCENT="blue"
|
||||
fi
|
||||
else
|
||||
ACCENT="slate"
|
||||
fi
|
||||
|
||||
gsettings set org.gnome.desktop.interface accent-color "$ACCENT"
|
||||
|
||||
# Merge VSCodium color customizations into settings.json
|
||||
VSCODE_SETTINGS="$HOME/.config/VSCodium/User/settings.json"
|
||||
VSCODE_COLORS="$HOME/.local/share/matugen/vscodium-colors.json"
|
||||
if [ -f "$VSCODE_SETTINGS" ] && [ -f "$VSCODE_COLORS" ]; then
|
||||
COLORS=$(cat "$VSCODE_COLORS")
|
||||
# Remove existing workbench.colorCustomizations and merge new ones
|
||||
TMP=$(mktemp)
|
||||
if command -v jq &>/dev/null; then
|
||||
jq --argjson colors "$COLORS" '. * $colors' "$VSCODE_SETTINGS" > "$TMP" && mv "$TMP" "$VSCODE_SETTINGS"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Reload GNOME Shell theme to apply new colors
|
||||
dconf write /org/gnome/shell/extensions/user-theme/name "''"
|
||||
sleep 1
|
||||
dconf write /org/gnome/shell/extensions/user-theme/name "'WallpaperShell'"
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
{
|
||||
"workbench.colorCustomizations": {
|
||||
"titleBar.activeBackground": "{{colors.surface_container.default.hex}}",
|
||||
"titleBar.activeForeground": "{{colors.on_surface.default.hex}}",
|
||||
"titleBar.inactiveBackground": "{{colors.surface_container_low.default.hex}}",
|
||||
"activityBar.background": "{{colors.surface_container.default.hex}}",
|
||||
"activityBar.foreground": "{{colors.on_surface.default.hex}}",
|
||||
"activityBar.inactiveForeground": "{{colors.on_surface_variant.default.hex}}",
|
||||
"sideBar.background": "{{colors.surface_container_low.default.hex}}",
|
||||
"sideBar.foreground": "{{colors.on_surface.default.hex}}",
|
||||
"sideBar.border": "{{colors.outline_variant.default.hex}}",
|
||||
"sideBarSectionHeader.background": "{{colors.surface_container.default.hex}}",
|
||||
"sideBarSectionHeader.foreground": "{{colors.on_surface.default.hex}}",
|
||||
"editor.background": "{{colors.surface.default.hex}}",
|
||||
"editor.foreground": "{{colors.on_surface.default.hex}}",
|
||||
"editorGroupHeader.tabsBackground": "{{colors.surface_container.default.hex}}",
|
||||
"statusBar.background": "{{colors.surface_container.default.hex}}",
|
||||
"statusBar.foreground": "{{colors.on_surface.default.hex}}",
|
||||
"statusBar.debuggingBackground": "{{colors.primary.default.hex}}",
|
||||
"statusBar.debuggingForeground": "{{colors.on_primary.default.hex}}",
|
||||
"statusBar.noFolderBackground": "{{colors.surface_container.default.hex}}",
|
||||
"tab.activeBackground": "{{colors.surface.default.hex}}",
|
||||
"tab.inactiveBackground": "{{colors.surface_container.default.hex}}",
|
||||
"tab.activeForeground": "{{colors.on_surface.default.hex}}",
|
||||
"tab.inactiveForeground": "{{colors.on_surface_variant.default.hex}}",
|
||||
"tab.border": "{{colors.surface_container.default.hex}}",
|
||||
"focusBorder": "{{colors.primary.default.hex}}",
|
||||
"button.background": "{{colors.primary.default.hex}}",
|
||||
"button.foreground": "{{colors.on_primary.default.hex}}",
|
||||
"list.activeSelectionBackground": "{{colors.primary_container.default.hex}}",
|
||||
"list.activeSelectionForeground": "{{colors.on_primary_container.default.hex}}",
|
||||
"list.hoverBackground": "{{colors.surface_container_high.default.hex}}",
|
||||
"list.inactiveSelectionBackground": "{{colors.surface_container_high.default.hex}}",
|
||||
"input.background": "{{colors.surface_container_high.default.hex}}",
|
||||
"input.foreground": "{{colors.on_surface.default.hex}}",
|
||||
"input.border": "{{colors.outline_variant.default.hex}}",
|
||||
"dropdown.background": "{{colors.surface_container_high.default.hex}}",
|
||||
"dropdown.foreground": "{{colors.on_surface.default.hex}}",
|
||||
"dropdown.border": "{{colors.outline_variant.default.hex}}",
|
||||
"panel.background": "{{colors.surface_container_low.default.hex}}",
|
||||
"panel.border": "{{colors.outline_variant.default.hex}}",
|
||||
"panelTitle.activeForeground": "{{colors.on_surface.default.hex}}",
|
||||
"terminal.background": "{{colors.surface.default.hex}}",
|
||||
"terminal.foreground": "{{colors.on_surface.default.hex}}",
|
||||
"breadcrumb.background": "{{colors.surface.default.hex}}",
|
||||
"breadcrumb.foreground": "{{colors.on_surface_variant.default.hex}}",
|
||||
"editorWidget.background": "{{colors.surface_container.default.hex}}",
|
||||
"editorWidget.foreground": "{{colors.on_surface.default.hex}}",
|
||||
"peekViewEditor.background": "{{colors.surface_container_low.default.hex}}",
|
||||
"peekViewResult.background": "{{colors.surface_container.default.hex}}",
|
||||
"quickInput.background": "{{colors.surface_container.default.hex}}",
|
||||
"quickInput.foreground": "{{colors.on_surface.default.hex}}",
|
||||
"diffEditor.insertedTextBackground": "{{colors.tertiary_container.default.hex}}33",
|
||||
"diffEditor.removedTextBackground": "{{colors.error_container.default.hex}}33",
|
||||
"diffEditor.insertedLineBackground": "{{colors.tertiary_container.default.hex}}22",
|
||||
"diffEditor.removedLineBackground": "{{colors.error_container.default.hex}}22",
|
||||
"merge.currentHeaderBackground": "{{colors.tertiary_container.default.hex}}55",
|
||||
"merge.incomingHeaderBackground": "{{colors.primary_container.default.hex}}55",
|
||||
"notifications.background": "{{colors.surface_container_high.default.hex}}",
|
||||
"notifications.foreground": "{{colors.on_surface.default.hex}}",
|
||||
"notificationCenterHeader.background": "{{colors.surface_container.default.hex}}",
|
||||
"banner.background": "{{colors.surface_container_high.default.hex}}",
|
||||
"banner.foreground": "{{colors.on_surface.default.hex}}",
|
||||
"commandCenter.background": "{{colors.surface_container.default.hex}}",
|
||||
"commandCenter.foreground": "{{colors.on_surface.default.hex}}",
|
||||
"editorGutter.background": "{{colors.surface.default.hex}}",
|
||||
"editorLineNumber.foreground": "{{colors.on_surface_variant.default.hex}}",
|
||||
"scrollbarSlider.background": "{{colors.outline_variant.default.hex}}55",
|
||||
"scrollbarSlider.hoverBackground": "{{colors.outline_variant.default.hex}}88",
|
||||
"scrollbarSlider.activeBackground": "{{colors.outline_variant.default.hex}}aa",
|
||||
"editorPane.background": "{{colors.surface.default.hex}}",
|
||||
"editorHoverWidget.background": "{{colors.surface_container.default.hex}}",
|
||||
"editorHoverWidget.foreground": "{{colors.on_surface.default.hex}}",
|
||||
"editorHoverWidget.border": "{{colors.outline_variant.default.hex}}",
|
||||
"editorSuggestWidget.background": "{{colors.surface_container.default.hex}}",
|
||||
"editorSuggestWidget.foreground": "{{colors.on_surface.default.hex}}",
|
||||
"editorSuggestWidget.border": "{{colors.outline_variant.default.hex}}",
|
||||
"editorSuggestWidget.selectedBackground": "{{colors.primary_container.default.hex}}",
|
||||
"debugToolBar.background": "{{colors.surface_container.default.hex}}",
|
||||
"walkThrough.embeddedEditorBackground": "{{colors.surface_container_low.default.hex}}",
|
||||
"settings.headerForeground": "{{colors.on_surface.default.hex}}",
|
||||
"welcomePage.background": "{{colors.surface.default.hex}}",
|
||||
"textBlockQuote.background": "{{colors.surface_container_low.default.hex}}"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
/* Wallpaper-based colors generated by matugen */
|
||||
/* Wallpaper-based colors substituted by stylix */
|
||||
|
||||
/* Override Zen's JS-applied gradient backgrounds directly on elements */
|
||||
#zen-browser-background,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue