chore(flake): bump nixpkgs (waydroid 1.6.3) + p620 audible-sync#705
Merged
Conversation
nixos-unstable advanced from 64c08a7c (2026-05-23) to 331800de (2026-05-31). Previous `update-commit-deploy.sh` runs found nothing to bump because Hydra hadn't promoted a fresh commit to the channel yet; the branch has now moved forward. Headline change: `waydroid` 1.6.2 → 1.6.3 (upstream release 2026-05-28). Picked up automatically by both razer and p620, which use the `features.virtualization.waydroid` module. Churn fixes that became necessary with this bump: - modules/desktop/stylix-theme.nix: disable `stylix.targets.kmscon`. The upstream stylix module still writes `services.kmscon.fonts`, which nixpkgs 26.11 removed (`services.kmscon.config.font-name` is the new API). Razer doesn't theme the Linux text console anyway. - hosts/razer/configuration.nix: permit `electron-39.8.10`. Newly flagged EOL upstream; still transitively required by some package in razer's closure (audit + drop in a follow-up). - hosts/razer/nixos/boot.nix: drop our local `openrazer-kernel-7.0.9-hid-report-raw-event.patch`. The fix has landed in nixpkgs' packaged openrazer 3.12.3, and reapplying our patch now fails with "Reversed (or previously applied) patch detected". Kept `boot.kernelPackages = pkgs.linuxPackages_latest` (kernel 7.0.10), which was inadvertently dropped when the patch block was first removed. Build verified on razer; p620 verified in a follow-up commit (needed the same electron-39 permit + audible-sync shellcheck fixes). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
One-command pipeline: library export → bulk download (.aaxc/.aax) → decrypt to .m4b → organise into one folder per book under `features.audibleSync.outputDir` (default `~/audiobooks/audible`). Re-runnable; already-downloaded books and already-decrypted files are skipped. One-time setup on p620 after deploy: 1. `audible quickstart` — picks marketplace, handles 2FA 2. `audible library list` — confirm books are visible 3. `audible-sync` — downloads + decrypts everything Implemented as `pkgs.writeShellApplication`. Two shellcheck escalations needed handling: - SC2088 (tilde in single quotes won't expand) is a false positive: `lib.escapeShellArg cfg.outputDir` emits `'~/...'`, and the very next line uses bash parameter expansion to substitute `~` with `$HOME` at runtime. Suppressed via `excludeShellChecks`. - SC2095 (ffmpeg may swallow stdin inside a `while read` loop) is a real bug — ffmpeg reads stdin by default and would consume the file paths the loop is trying to iterate, breaking the decryption batch silently. Fixed by adding `-nostdin` to both ffmpeg calls. Also permits `electron-39.8.10` in p620's `permittedInsecurePackages` (same churn fix as razer; needed to build past the nixpkgs bump). Legal note: stripping DRM violates Audible's ToS. Personal-use only. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR updates the flake-pinned nixpkgs revision (bringing in upstream changes like Waydroid 1.6.3) and adds a new audible-sync feature/module that installs an end-to-end Audible download+decrypt pipeline, enabled on host p620. It also includes a few host/module tweaks required to keep builds working after the nixpkgs bump.
Changes:
- Bump
flake.lockto a newernixos-unstablecommit. - Add
modules/services/audible-sync.nixand enablefeatures.audibleSynconp620. - Post-bump fixes: disable Stylix kmscon target, permit newly-insecure Electron version, and simplify razer kernel override by dropping the now-upstreamed openrazer patch.
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
modules/services/audible-sync.nix |
New features.audibleSync module providing an audible-sync shell app and installing required tooling. |
modules/desktop/stylix-theme.nix |
Disables stylix.targets.kmscon to avoid evaluation/build failures after the nixpkgs bump. |
hosts/razer/nixos/boot.nix |
Removes custom openrazer patching and keeps only the linuxPackages_latest kernel selection. |
hosts/razer/configuration.nix |
Permits electron-39.8.10 in permittedInsecurePackages to unblock evaluation/builds post-bump. |
hosts/p620/configuration.nix |
Imports and enables the new audible-sync module and permits electron-39.8.10. |
flake.lock |
Advances the pinned nixpkgs revision/hash/timestamp. |
Comment on lines
+137
to
+140
| for ext in jpg jpeg png chapters.json; do | ||
| src="$dir/$base.$ext" | ||
| [ -e "$src" ] && cp -n "$src" "$target/" || true | ||
| done |
Comment on lines
+64
to
+67
| # kmscon: stylix's kmscon target still sets the removed-in-nixpkgs-50 | ||
| # `services.kmscon.fonts` option, which now fails the build. We don't | ||
| # theme the Linux text console anyway (Wayland sessions are what | ||
| # matters here), so disable the target until upstream stylix updates. |
Comment on lines
+58
to
62
| # (openrazer @ff30624). That fix has now landed in nixpkgs' packaged | ||
| # openrazer, so reapplying our patch on top fails with "Reversed (or | ||
| # previously applied) patch detected". Override slimmed to just the | ||
| # kernel selection. | ||
| # See: https://github.com/openrazer/openrazer/issues/2808 |
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.
Summary
Two related changes bundled because they need each other to land cleanly:
Bump nixpkgs to
nixos-unstableHEAD (331800de, 2026-05-31). Headline change: waydroid 1.6.2 → 1.6.3 (upstream release 4 days ago). Picked up automatically by both razer and p620 viafeatures.virtualization.waydroid.Add
audible-syncfeature on p620 — one-command pipeline to download + decrypt your Audible library to .m4b files, organised one folder per book under~/audiobooks/audible.Churn fixes triggered by the bump
modules/desktop/stylix-theme.nixstylix.targets.kmscon— upstream stylix still sets the removed-in-26.11services.kmscon.fontsoptionhosts/razer/configuration.nixelectron-39.8.10hosts/p620/configuration.nixelectron-39.8.10permithosts/razer/nixos/boot.nixopenrazer-kernel-7.0.9-hid-report-raw-event.patch— the fix has landed in nixpkgs' packaged openrazer 3.12.3, our patch now refuses to re-apply. KeptlinuxPackages_latest(kernel 7.0.10).Why the previous "bump all" PR (#703) left nixpkgs unchanged
scripts/update-commit-deploy.shdoes try to bump nixpkgs via agh apisplice against thenixos-unstablebranch HEAD. When PR #703 ran, the channel branch had been stuck at64c08a7csince 2026-05-23 — Hydra hadn't promoted a fresh commit yet. By the time this PR was prepared (~9 hours after #703 merged), Hydra had advanced the channel to331800de. The "(nixpkgs unchanged)" in #703's title was literal: there was nothing newer to advance to at that moment.audible-sync notable details
pkgs.writeShellApplicationwithruntimeInputs = [ audible-cli ffmpeg jq coreutils findutils ].lib.escapeShellArgemits'~/...'and the next line does the~→$HOMEsubstitution at runtime).-nostdinto ffmpeg invocations — fixes a real bug where ffmpeg would swallow stdin inside thewhile readdecryption loop and silently truncate the batch.Test plan
just test-host razer— green, final derivationnixos-system-razer-26.11.20260531.331800djust test-host p620— green, final derivationnixos-system-p620-26.11.20260531.331800dwaydroid-1.6.3+openrazer-3.12.3-7.0.10(kernel 7.0.10)linuxPackages_latest)audible-syncend-to-end after one-timeaudible quickstarton p620Files NOT touched (pre-existing user WIP, left alone)
home/development/claude-code-commands/*(dns command WIP)home/development/claude-code-skills/dns/*(dns skill WIP)home/media/music.nixsecrets.nix,secrets/api-godaddy.age,secrets/godaddy-account.age(godaddy WIP)🤖 Generated with Claude Code