Personal Nix packages and NixOS modules using the caller's pkgs.
default.nix exports packages and module paths.
| Package | NixOS module | Documentation |
|---|---|---|
cf |
None | Cloudflare CLI |
changedetection-io |
Use nixpkgs' module with this package | changedetection.io |
fluxdown-server |
nixosModules.fluxdown |
FluxDown Server |
mnamer-rs |
None | mnamer Rust rewrite |
rsshub |
Use nixpkgs' module with this package | RSSHub |
spotify-spotx |
None | Spotify with SpotX |
Run from the repository root with <nixpkgs> and nix-command enabled.
nix-shell supplies the tools; GitHub queries require authenticated gh.
nix-shell
just --list
just build changedetection-io
just update changedetection-io
just check changedetection-io
just contract fluxdown-server
NIXPKGS_ALLOW_UNFREE=1 just check-all
NIXPKGS_ALLOW_UNFREE=1 just check-updates
NIXPKGS_ALLOW_UNFREE=1 just check-updates --update
just lintjust update <package> [version]refreshes hashes and validates in a temporary copy before writing back. Review FluxDown contract changes before accepting them withjust update-reviewed fluxdown-server <version>.just update-spotxupdatesspotify-spotx; Spotify follows the caller's nixpkgs.just check <package>builds the package and itspassthru.tests, then lints.just check-allalso runs updater tests. Builds cover the current platform only; VM tests are opt-in.just check-updatesdetects releases in temporary copies without source or dependency downloads. Add--updateto update and validate locally.
These commands do not deploy, commit or push. For in-place updates, use
nix-update -f . <package> --use-update-script; plain nix-update does not select
passthru.updateScript automatically. See AGENTS.md for maintenance rules.
GitHub Actions checks packages daily at 00:00 UTC (08:00 China time) or via
workflow_dispatch. Validated updates become PRs without auto-merging. Publishing
requires a self-hosted runner and a token with repository write and PR permissions.
The workflow supplies tokens to gh and nix-update, checks every package despite
individual failures, and fails after the summary if any package failed.