Commit Graph

3 Commits

Author SHA1 Message Date
Bernardo Magri
e7e89b8333 chore(theme): prune 9 dead templates, document the 2 that ship
themes/templates/ shipped 11 mustache templates, but
nomarchy-theme-set-templates only writes to a path when no file is
already there — and a careful trace shows 9 of the 11 outputs are
either preempted by an earlier write or never read at all:

  - kitty.conf.tpl, ghostty.conf.tpl
      → shadowed by the per-palette generators in
        themes/engine/files.nix added in 8d3ce2d.
  - hyprland.conf.tpl
      → shadowed by files.nix:100, which always writes
        ~/.config/nomarchy/current/theme/hyprland.conf from the
        palette/feature/nord fallback chain.
  - hyprlock.conf.tpl, alacritty.toml.tpl, btop.theme.tpl,
    chromium.theme.tpl, swayosd.css.tpl
      → output paths nothing reads. alacritty + swayosd are themed
        via Stylix / declarative HM options inline. btop reads from
        ~/.config/btop/themes/nomarchy.theme (loader.nix:72), not
        from the theme symlink. chromium is themed via the managed-
        policy module in core/system/browser.nix. hyprlock has no
        consumer of theme/hyprlock.conf anywhere in the tree.
  - hyprland-preview-share-picker.css.tpl
      → orphaned when the share-picker dir was deleted in 20de3d4.

obsidian.css.tpl and keyboard.rgb.tpl stay: the first is consumed by
nomarchy-theme-set-obsidian (copied into every Obsidian vault), the
second by nomarchy-theme-set-keyboard-asus-rog (sets the ROG
keyboard tint via asusctl).

Rewrote Step 6 of docs/creating-themes.md to describe the two live
templates by name and corrected a path bug ("~/.config/nomarchy/themed/"
→ "~/.config/nomarchy/themes/templates/" — the script actually reads
the latter).

`nix flake check --no-build` clean.
2026-05-22 17:59:15 +01:00
Bernardo Magri
85ef8745d7 chore: delete orphan config assets + log chromium/templates concerns
Two unreferenced asset files removed; two larger concerns deferred to
roadmap rows because they need more thought than a focused audit
allows.

Deleted:
- `features/apps/alacritty/config/alacritty.toml` — the alacritty
  module uses `programs.alacritty.settings` (Nix attrset) exclusively;
  nothing references the on-disk file. The neighbouring (already-empty)
  `themes/` directory goes with it.
- `themes/templates/mako.ini.tpl` — no script reads it.

Deferred to ROADMAP "Later":
- `features/apps/chromium/Default/Preferences` is deployed as a Home
  Manager symlink into chromium's mutable profile directory. Either
  silently replaced on first save or silently failing to write —
  either way the static defaults don't survive. The actual chromium
  theming work happens via managed policies in
  core/system/browser.nix. Needs chromium-internals knowledge to
  decide whether to remove or rework, so flagged rather than
  unilaterally deleted.
- `themes/templates/*.tpl` (the remaining 10 templates) are also
  apparently orphan — deployed via xdg.dataFile but unconsumed by any
  script. Likely vestigial from a pre-stylix templating system.
  Logged as a separate row to decide deletion vs documentation as
  user-reference assets.

Found during Pillar 8 audit of features/apps.
2026-05-19 19:04:56 +01:00
Bernardo Magri
bbdf34ced8 refactor: implement component-based architecture for enhanced maintainability
- Reorganize directory structure into core/, features/, and themes/
- Colocate application Nix logic, configs, scripts, and theme overrides
- Implement 'Inversion of Control' for theming: apps now pull theme-specific layouts
- Update flake.nix and shared library paths to match the new structure
- Document the new Feature-Centric architecture in README.md
2026-04-12 14:51:15 +01:00