[INVESTIGATION] Evaluate numtide/flake-utils for potential NixOS configuration integration #147
Labels
No labels
area:authentication
area:flake-utilities
area:performance
area:tbd
host:chaos
host:electra
host:fleet
host:lyra
host:nova
host:vega
investigation
phase:cutover
phase:deploy
phase:mcp
phase:module
phase:packaging
phase:prep
phase:validation
priority:high
priority:medium
project:attic-postgres-lyra-rollout
project:auto-update-reliability
project:auto-update-remediation
project:declarative-purity-cleanup
project:external-review
project:fleet-boundary-cleanup
project:host-facts-refactor
project:lyra-nixos-deploy
project:lyra-service-stack-migration
project:nebula-mesh-network
project:nixos-build-deployment-pipeline
project:security-hardening
project:service-stack-migration
project:vega-sillytavern-cutover
project:wiki-rebuild
repo:numtide/flake-utils
repo:numtide/nix-auth
repo:numtide/nixos-passthru-cache
repo:numtide/nix-relay
service:auto-update
service:mem0
service:nix
service:sillytavern
service:slskd
service:synthseek
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nimmo/nixos-config#147
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?
Investigation: numtide/flake-utils
Overview
Investigate the numtide/flake-utils repository to determine if it provides valuable enhancements, simplifications, or performance improvements for the NixOS configuration at https://git.nimmog.uk/nimmo/nixos-config.
Repository Information
Investigation Goals
Current Related Infrastructure
Specific Areas to Examine
Suggested Evaluation Approach
Decision Criteria
Notes for Investigating Agent
Evaluation conclusion: do not adopt at present
Reviewed upstream
numtide/flake-utilsat commit11707dc.What it actually provides
flake-utilsis a small, pure-Nix helper library for generating per-system flake outputs, flattening package trees, making app outputs, and composing subflakes. Its main convenience iseachDefaultSystem, whose default platform set isx86_64-linux,aarch64-linux,x86_64-darwin, andaarch64-darwin.The
flakeifyfunction named in this issue does not exist in the reviewed library. The nearest relevant functions aresimpleFlake,meld, and theeachSystemfamily.Fit with this repository
nixosConfigurationconfirmed that all six active hosts arex86_64-linux.flake.nixare deliberately limited tox86_64-linux.eachDefaultSystemwould broaden that contract to four platforms unless another input or explicit system list narrowed it again.makeNixosSystemhelper already removes the meaningful host-construction duplication while keeping stable and unstable nixpkgs/Home Manager selection explicit.simpleFlaketargets package-oriented flakes and would not simplify this multi-host NixOS output shape.meldwould add indirection without solving an observed maintenance problem.Validation performed
nix flake check --no-buildpassed against the reviewed upstream commit.nix evalconfirmedchaos,cosmos,electra,lena,lyra, andvegaall resolve tox86_64-linux.Decision
Do not add
flake-utilsand do not create an integration proof of concept. It would replace a handful of visible system-qualified attributes with a new dependency and a broader or separately constrained platform abstraction, without reducing the harder parts of this flake.Revisit only if this repository begins publishing the same packages/checks/dev shells for multiple supported platforms. At that point compare
flake-utilswithflake-partsand a small localgenAttrshelper against the then-current output shape.