Narrow the common and desktop baselines #114

Closed
opened 2026-07-28 08:36:59 +01:00 by nimmo · 0 comments
Owner

Context

The repository has a useful layered structure, but some umbrella modules combine baseline configuration with optional services or desktop choices.

modules/common/base.nix currently imports concrete services that are not universal to every possible host. modules/desktop/environment.nix similarly acts as a desktop baseline while importing several distinct capabilities.

Scope

Review these boundaries and make the baseline composition more intentional.

  • Keep genuinely universal host defaults in the common baseline.
  • Move optional or role-specific services out of the universal baseline where that improves portability and discoverability.
  • Decide whether the desktop environment bundle should be renamed, narrowed, or documented as a profile-like composition module.
  • Preserve current host behaviour unless a change is clearly an architectural improvement.
  • Update repository documentation where the resulting layering is not obvious.

Non-goals

  • Do not split every import into its own issue or file.
  • Do not remove cohesive service modules merely because they contain more than one package.
  • Do not introduce Dendritic or flake-parts as part of this work.

Acceptance criteria

  • The boundary between universal baseline, desktop baseline, profiles, and standalone modules is explicit.
  • Any moved imports remain enabled on the hosts that need them.
  • NixOS configurations pass nix flake check.
  • The final structure and rationale are documented.
## Context The repository has a useful layered structure, but some umbrella modules combine baseline configuration with optional services or desktop choices. modules/common/base.nix currently imports concrete services that are not universal to every possible host. modules/desktop/environment.nix similarly acts as a desktop baseline while importing several distinct capabilities. ## Scope Review these boundaries and make the baseline composition more intentional. - Keep genuinely universal host defaults in the common baseline. - Move optional or role-specific services out of the universal baseline where that improves portability and discoverability. - Decide whether the desktop environment bundle should be renamed, narrowed, or documented as a profile-like composition module. - Preserve current host behaviour unless a change is clearly an architectural improvement. - Update repository documentation where the resulting layering is not obvious. ## Non-goals - Do not split every import into its own issue or file. - Do not remove cohesive service modules merely because they contain more than one package. - Do not introduce Dendritic or flake-parts as part of this work. ## Acceptance criteria - The boundary between universal baseline, desktop baseline, profiles, and standalone modules is explicit. - Any moved imports remain enabled on the hosts that need them. - NixOS configurations pass nix flake check. - The final structure and rationale are documented.
nimmo closed this issue 2026-07-28 11:37:47 +01:00
Sign in to join this conversation.
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
nimmo/nixos-config#114
No description provided.