Cache folder colours so we don't recolour on every boot.

This commit is contained in:
ediblerope 2026-05-13 09:37:52 +01:00
parent 6252eda060
commit d5a8c12383

View file

@ -87,6 +87,12 @@
ADWAITA="/run/current-system/sw/share/icons/Adwaita" ADWAITA="/run/current-system/sw/share/icons/Adwaita"
PAPIRUS="/run/current-system/sw/share/icons/Papirus-Dark" PAPIRUS="/run/current-system/sw/share/icons/Papirus-Dark"
PRIMARY="#${config.lib.stylix.colors.base0D}" PRIMARY="#${config.lib.stylix.colors.base0D}"
CACHE_FILE="$ICON_DIR/.color-cache"
# Skip the SVG recolour pass if the palette colour hasn't changed.
if [ -f "$CACHE_FILE" ] && [ "$(cat "$CACHE_FILE" 2>/dev/null)" = "$PRIMARY" ] && [ -d "$ICON_DIR/scalable/places" ]; then
echo "recolorFolders: palette unchanged, skipping"
else
$DRY_RUN_CMD mkdir -p "$ICON_DIR/scalable/places" $DRY_RUN_CMD mkdir -p "$ICON_DIR/scalable/places"
@ -229,6 +235,8 @@
done done
$DRY_RUN_CMD ${pkgs.gtk3}/bin/gtk-update-icon-cache -f "$ICON_DIR" 2>/dev/null || true $DRY_RUN_CMD ${pkgs.gtk3}/bin/gtk-update-icon-cache -f "$ICON_DIR" 2>/dev/null || true
$DRY_RUN_CMD sh -c "echo '$PRIMARY' > '$CACHE_FILE'"
fi # end palette-changed block
''; '';
}; };
}; };