ce424eb6af777cc52624f031529c0744ce54cd8c
Iter 13. El switcher ya cambiaba el chrome en runtime, pero al cerrar/reabrir el theme volvía a Nebula default. Ahora se persiste en $XDG_CONFIG_HOME/yahweh/theme (default ~/.config/yahweh/theme) y se restaura al boot. yahweh-theme: - pub fn config_path() -> Option<PathBuf>: resuelve XDG; None en sandbox/CI sin HOME ni XDG_CONFIG_HOME. - pub fn load_persisted() / persist(theme): API pública. Variantes load_from_path / persist_to_path con path explícito para tests y apps custom. - Theme::install_default(cx) ahora load_persisted o cae a Nebula. - Theme::set(cx, theme) ahora persist + set_global. Best-effort: io errors ignorados (no rebota la UX por un secundario). - 5 tests nuevos: round-trip, missing file, unknown name, create parent dir, XDG_CONFIG_HOME respetado. API pública de install_default/set sin cambio de shape — todos los downstream compilan sin tocar nada. Smoke run verificado. Beneficio: 4 apps yahweh-themed comparten preferencia persistente. Usuario puede preset via `echo Aurora > ~/.config/yahweh/theme`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
No description provided
Languages
Rust
96.7%
JavaScript
0.8%
Shell
0.8%
Python
0.8%
HTML
0.3%
Other
0.6%