feat: move core apps to downstream and make app modules opt-in
All checks were successful
Check / eval-and-lint (push) Successful in 6m39s
All checks were successful
Check / eval-and-lint (push) Successful in 6m39s
This commit is contained in:
@@ -64,10 +64,12 @@ bin/ Convenience wrappers for testing (nomarchy-test-installer, …).
|
||||
|
||||
When you add a new feature:
|
||||
|
||||
- A new app → `features/apps/<name>/default.nix` (+ optional `config/`), import it from `features/default.nix`.
|
||||
- A new app → `features/apps/<name>/default.nix` (+ optional `config/`), import it from `features/default.nix`. **All app modules must be opt-in** via a `nomarchy.apps.<name>.enable` option defined in `core/home/options.nix`. Enabling the module should also handle the `programs.<name>.enable` or `home.packages` installation where applicable.
|
||||
- A new system service → `core/system/<name>.nix`, import from `core/default.nix`.
|
||||
- A new toggle → add to `core/system/options.nix` or `core/home/options.nix`, wire it into the relevant module, document it in `docs/OPTIONS.md`.
|
||||
|
||||
Core user-facing apps (browsers, file managers, media players) are **not** installed by the `features/default.nix` module list. Instead, they are managed in the downstream `home.nix` (which the installer pre-fills with defaults like `firefox` and `thunar`). This keeps the Nomarchy core modules focused on the desktop environment while giving the user explicit control over their app set.
|
||||
|
||||
---
|
||||
|
||||
## 3. Guardrails (non-negotiable unless the user overrides)
|
||||
|
||||
Reference in New Issue
Block a user