8640387e

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Release to Hackage from CI, and update the flake inputs

Same shape as autodocodec and sydtest: a 'nix-ci.nix' with a
'deploy.release-to-hackage' step, running from master only, taking
HACKAGE_API_KEY from the repository's Secrets overview on NixCI.  The
script uploads exactly those packages whose version is not on Hackage
yet, so a push that bumps no version releases nothing.

Adding the file moves the whole NixCI configuration into it.  NixCI falls
back to the flake's 'nix-ci' output only when no such file exists, so
'auto-update' and 'cachix' had to come along or they would have been
dropped without any error saying so.  The now-unreachable 'nix-ci' output
is gone from flake.nix rather than left as a second place to look; that
also removes the "unknown flake output" warning from every 'nix flake
check'.

Only 'ical' and 'ical-recurrence' are released.  The two '-gen' packages
and 'ical-interop-test' are excluded because they sit at 0.0.0.0 and none
of them has ever had a version bump or a changelog entry, so releasing
the whole package set would have published three 0.0.0.0 packages on the
next push to master.  A Hackage upload cannot be taken back, while adding
a package here later is one line.  Checked against the built script rather
than the expression: it references ical-0.3.0.0 and
ical-recurrence-0.2.0.0 and nothing else.

'nix flake update' along with it, which moves nixpkgs from 2026-05-31 to
2026-08-25 and nixpkgs-25_11 to 2026-06-30.  'nix flake check' passes on
the result, so the eight checks all build against the newer package sets
without any change to the Haskell code.