fix(auto-update): keep Moonlight pin interface-independent #175
No reviewers
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!175
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/issue-174-moonlight-pin"
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?
Summary
Makes the temporary Moonlight FFmpeg 8 pin resilient to Nixpkgs' transient
ffmpeg→ffmpeg_8package-argument rename. The pin now replaces Moonlight' direct FFmpeg build input, and its lifecycle reverse patch and hashes are updated accordingly.The current
nixos-unstablestill fails to build Moonlight 6.1.0 with FFmpeg 9, so this retains the pin rather than removing it.Validation
tests/nixos-pin-lifecycle-regressions.shnix flake checkf2b17eb1b90f6a359082035b4538d4c63017aec3Refs #174
Automated code review
Reviewed commit:
8f6ff1c7101dddff9c6a34d13955103bc760c7a1Verdict: Ready to merge
No blocking or important findings were retained, and deterministic checks passed. Suggestions remain advisory.
Overall assessment
The PR modifies a temporary FFmpeg pin for moonlight-qt in gaming.nix to use overrideAttrs and filter buildInputs by pname, addressing nixpkgs' ffmpeg argument rename. Hashes and the removal patch are updated accordingly.
Blocking findings
None.
Important findings
None.
Suggestions
Verify if FFmpeg is required in nativeBuildInputs or as a named argument (modules/profiles/gaming.nix:20; medium confidence)
buildInputs = (builtins.filter (input: (input.pname or null) != "ffmpeg") old.buildInputs) ++ [ prev.ffmpeg_8 ];
Impact: If moonlight-qt's derivation expects FFmpeg in nativeBuildInputs or requires it as a specific override argument, filtering only buildInputs may not fully resolve the dependency, potentially causing build failures.
Suggested fix: Check the upstream moonlight-qt derivation to confirm where FFmpeg is listed. If needed, extend the filter to nativeBuildInputs or explicitly pass { ffmpeg = prev.ffmpeg_8; } within overrideAttrs if the build system requires it as a named argument.
Pname filtering removes all FFmpeg versions, not just the conflicting one (modules/profiles/gaming.nix:20; high confidence)
(input.pname or null) != "ffmpeg"
Impact: This filter replaces every package with pname "ffmpeg" in buildInputs with ffmpeg_8. While acceptable for a temporary pin, it alters the dependency closure more broadly than strictly necessary.
Suggested fix: For a temporary override, this is low-risk. If stricter version targeting is desired later, consider filtering by specific attribute names or versions instead of pname.
Tests and validation
Questions
Review limitations
Diff coverage
modules/profiles/gaming.nix: reviewed — included in a context-limited batchremediation/pins/aded4313f23595e6959abf2d7d74f2594509465ae5dcb51b73ae9f3cc8a8e73f.json: reviewed — included in a context-limited batchremediation/pins/aded4313f23595e6959abf2d7d74f2594509465ae5dcb51b73ae9f3cc8a8e73f.remove.patch: reviewed — included in a context-limited batchReview metadata