[INVESTIGATION] Evaluate numtide/nix-auth for potential NixOS configuration integration #148
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#148
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/nix-auth
Overview
Investigate the numtide/nix-auth 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: useful on demand, but do not integrate declaratively
Reviewed upstream
numtide/nix-authat commitd43fad3.What it actually provides
nix-authmanages the Nix client'saccess-tokenssetting for authenticated flake and fetcher access. It writes a mode-0600~/.config/nix/access-tokens.confand adds an include to the user'snix.conf. It is not a general service-authentication framework and does not replace application secrets, environment files, OIDC client credentials, or SOPS.For Forgejo, it uses an interactive personal-access-token flow rather than device OAuth. The token is stored imperatively in the invoking user's home directory.
Fit with this repository
access-tokenssetting would be incorrect and would weaken the current separation of concerns.nixos-auto-updateflake input usesgit+ssh, so a Forgejo HTTPS access token does not simplify that fetch path.nix run github:numtide/nix-auth -- login ...workflow. That does not require repository integration.Validation performed
nix flake check --no-buildpassed against the reviewed upstream commit.git.nimmog.uksuccessfully selected the Forgejo provider and requested onlyread:repositoryandread:user; no authentication was performed and no token or configuration file was written.Decision
Do not add
nix-authto the flake or system packages, and do not attempt to combine it with SOPS. Keep it as an on-demand troubleshooting/tooling option.Revisit if a specific host repeatedly hits GitHub API limits or a private flake is deliberately moved from SSH to HTTPS. Any future adoption should be scoped to the affected user or runner and should document token rotation separately from SOPS-managed service credentials.