Move the builders out of flake.nix #98
Labels
No labels
blocked
bug
decision
duplicate
enhancement
help wanted
invalid
landed?
question
ready-to-merge
stale
wontfix
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
allod/archetypes#98
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Finish what allod/archetypes#93 started: the three builders move out of
flake.nixintonix/builders/, so the flake is the inputs, the composition and the exports, and a change to one builder renders as a change to that builder's file.Primary goals:
flake.nixis composition only — after allod/archetypes#93 it is 777 lines, and the three builders are 380 of them; what remains after this is inputs, the profile-definition merge,machineConfigurations, the outputs and the exports.nix/builders/dev.nix,privacy.nixandhypervisor.nix, each a function of the flake inputs it uses, with the shared module list beside them.Current state and specifics
Line numbers are for the tree after allod/archetypes#93 lands (PR allod/archetypes#96).
mkDevVmisflake.nix:239-452,mkPrivacyVmis:453-480,mkHypervisoris:481-601, andsharedModulesandguestModuleFor(:86-112) are what all three compose from.memoryTraceModules(:234) andmkGithubCredentialModule(:228) are dev-builder helpers. ThesecretsInputshadowing trick (:222) exists so a builder argument can shadow the input; a builder in its own file takessecretsas an ordinary argument and the trick becomes unnecessary, but removing it is a change to the seam allod/archetypes#92 is about, so the move keeps it and #92 decides.Ordering is a trigger, not a date: whichever of this issue and allod/archetypes#92 opens its PR first lands first, and the other rebases onto it. A move over unchanged signatures and a signature change over unmoved files are each readable; one diff that does both is not.
Scope
In scope: the three builders, the shared module list and the two dev-builder helpers, and the
buildersattribute set that names them.Explicitly not in scope: the builder signatures (allod/archetypes#92) and
machineConfigurations, which is the composition and stays.Refs allod/archetypes#93, allod/archetypes#92