refactor(modules): Tier 2 roadmap (palette, services/compat, desktop guards, hw/platform split)#10
Merged
Merged
Conversation
… guards, hw/platform split
Execute Tier 2 of the bravais-next roadmap (bravais-next.texi). All four
changes are semantically neutral: the bravais-thinkpad toplevel derivation
path is unchanged (ql9gwmrs…), proving the built system is byte-identical.
- S9 single-source palette: add lib/colors.nix (canonical) and import it in
flake.nix as steelborePalette; delete the dead lib/default.nix (duplicate
palette + unused mkSteelboreModule).
- S13 relocate services/compat out of packages/system.nix: new
modules/services/podman.nix (steelbore.services.podman) and
modules/compat/appimage.nix (steelbore.compat.appimage); system.nix is now
packages-only. Toggles enabled in hosts/common.nix; modules wired in flake.nix.
(nix-ld/envfs stay in core — foundational, not optional compat.)
- S11 desktop guard assertions: new modules/desktops/assertions.nix asserting
leftwm.enable -> services.xserver.enable (the genuine X11 invariant; satisfied
today). Imported by modules/desktops/default.nix. Kitchen-sink multi-DE intact.
- S8 split hardware/platform: new modules/platform/x86-64.nix owns the x86-64
ISA level + all compiler/linker flags under steelbore.platform.x86_64 (enable +
marchLevel); modules/hardware/intel.nix is now vendor-only (kvm-intel, microcode).
hosts/thinkpad pins steelbore.platform.x86_64 = { enable = true; marchLevel = "v3"; }.
Docs: PRD.md and TODO.md updated for the new module layout and the
steelbore.hardware.intel.marchLevel -> steelbore.platform.x86_64.marchLevel path.
Verified: stable drvPath unchanged; unstable config evaluates; nixfmt --check
clean; podman/appimage still enabled; RUSTFLAGS still target-cpu=x86-64-v3; all
assertions pass; the old intel.marchLevel option is gone.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Executes Tier 2 of the
bravais-next.texiroadmap (Tier 1 already merged). Fourstructural cleanups, all semantically neutral.
Changes
lib/colors.nix(canonical),flake.niximports it assteelborePalette; delete deadlib/default.nix(dup palette + unusedmkSteelboreModule).podman→modules/services/podman.nix(
steelbore.services.podman),appimage→modules/compat/appimage.nix(
steelbore.compat.appimage);packages/system.nixis now packages-only. (nix-ld/envfs stayin core.)
modules/desktops/assertions.nixassertsleftwm.enable -> services.xserver.enable(real X11 invariant, satisfied today). Kitchen-sinkmulti-DE setup unchanged.
modules/platform/x86-64.nixowns the x86-64 ISA level + allcompiler/linker flags under
steelbore.platform.x86_64;modules/hardware/intel.nixis nowvendor-only (
kvm-intel, microcode). Host pinssteelbore.platform.x86_64 = { enable = true; marchLevel = "v3"; }.Verification
bravais-thinkpadtoplevel drvPath unchanged (ql9gwmrs…) — proves the build isbyte-identical after all four changes.
bravais-thinkpad-unstableconfig evaluates clean (shares the modules).nixfmt --checkclean on all changed/new files.podman.enable&programs.appimage.enablestilltrue;RUSTFLAGSstilltarget-cpu=x86-64-v3; allconfig.assertionspass; oldsteelbore.hardware.intel.marchLeveloption removed.
PRD.md,TODO.md.🤖 Generated with Claude Code