Luigit
repositories / dotfiles

dotfiles

bugabingas dorkfiles

owned by admin

quickshell/nuguland/.system/specs/NL-SPEC-83056D8D-nugu-desktop-theme-switching/index.md

Raw
Rendered preview

id: NL-SPEC-83056D8D type: spec title: Nugu desktop theme switching

Nugu desktop theme switching

Contract

  • Nugu is the sole palette source for generated desktop themes.
  • Valid modes are dark and light.
  • Missing or invalid persisted state resolves to dark.
  • Public operations select either mode, toggle, report current status, or prepare runtime artifacts without reload.
  • Status reads effective mode without writes or reloads.
  • A mode change updates the desktop color-scheme preference and every enabled consumer supporting that mode.
  • Nuguland and all other mode-aware consumers observe the same effective mode.

Runtime state

  • Runtime state belongs under the Nugu directory in XDG state home.
  • Runtime artifacts contain palette-derived colors and styling only.
  • Layout, behavior, bindings, modules, and timeouts remain consumer-owned.
  • Runtime switching never edits tracked files or symlink targets inside the dotfiles repository.

Safety

  • Switching between modes and back leaves repository status unchanged.
  • Live updates preserve unrelated application and session state.
  • Consumer restart is allowed only when no reliable live-update path exists.
  • Retired consumers do not constrain runtime artifacts.

Acceptance

  • Missing and invalid state select dark.
  • Selection, toggle, preparation, and status have the specified effects.
  • Dark and light artifacts are deterministic and palette-derived.
  • Desktop preference consistently reflects the selected mode.
  • A complete light-to-dark round trip creates no dotfiles diff.
  • Enabled visual consumers are readable and consistent in both modes.
  • Final visual acceptance is human-confirmed.
---
id: NL-SPEC-83056D8D
type: spec
title: Nugu desktop theme switching
---

# Nugu desktop theme switching

## Contract

- Nugu is the sole palette source for generated desktop themes.
- Valid modes are `dark` and `light`.
- Missing or invalid persisted state resolves to `dark`.
- Public operations select either mode, toggle, report current status, or prepare runtime artifacts without reload.
- Status reads effective mode without writes or reloads.
- A mode change updates the desktop color-scheme preference and every enabled consumer supporting that mode.
- Nuguland and all other mode-aware consumers observe the same effective mode.

## Runtime state

- Runtime state belongs under the Nugu directory in XDG state home.
- Runtime artifacts contain palette-derived colors and styling only.
- Layout, behavior, bindings, modules, and timeouts remain consumer-owned.
- Runtime switching never edits tracked files or symlink targets inside the dotfiles repository.

## Safety

- Switching between modes and back leaves repository status unchanged.
- Live updates preserve unrelated application and session state.
- Consumer restart is allowed only when no reliable live-update path exists.
- Retired consumers do not constrain runtime artifacts.

## Acceptance

- Missing and invalid state select `dark`.
- Selection, toggle, preparation, and status have the specified effects.
- Dark and light artifacts are deterministic and palette-derived.
- Desktop preference consistently reflects the selected mode.
- A complete light-to-dark round trip creates no dotfiles diff.
- Enabled visual consumers are readable and consistent in both modes.
- Final visual acceptance is human-confirmed.