Scott Worley [Wed, 9 Jul 2025 23:34:55 +0000 (16:34 -0700)]
Use nix executables in $PATH
We started pinning the nix version back Jun 2021 over
<nix/unpack-channel.nix> becoming private. As a side effect of pinning
(overriding) the nix version, we bundled nix with pinch so that it could
find nix even if it wasn't in $PATH.
We're now unwinding that: We no longer need a specific (ancient) version
of nix, so we're going back to using whatever is laying around in $PATH.
This *could* be a breaking change if you were depending upon pinch's
ability to find nix on its own. It seems unlikely that there are actually
any users depending on this, so I'm not bumping the major version, but
I am rolling rolling this out in two steps in case anyone is affected &
would find it useful to have an intermediate version of pinch to pin to
while they help newest pinch find nix stuff:
pinch 3.1.0 - Uses ancient nix_2_3 that now no longer builds
pinch 3.2.0 - Uses whatever nix is in <nixpkgs>
pinch 3.3.0 - Uses whatever nix is in $PATH
In case pinch's bundling of its own nix was giving anyone grief because
it *wasn't* using the one in $PATH: Sorry. It's fixed now. You can
unwind your hacks around this. :)
Scott Worley [Wed, 9 Jul 2025 23:17:27 +0000 (16:17 -0700)]
Stop using ancient nix_2_3
Nix commit 787469c7b66aec12ab6847e7db2cdc8aef5c325e removed
<nix/unpack-channel.nix>, preferring to stuff its contents into the nix
binary & write it out to a temp file to use it.
Pinch unpacks channels. So to retain access to unpack-channel.nix,
pinch pinned its nix dependency to nix 2.3.
This is no longer viable. The 2.3 branch is no longer maintained.
It now has known security vulnerabilities, noted in knownVulnerabilities
(which causes it to refuse to build).
So now pinch does it the same way as nix, holding its own little
unpack-channel.nix and writing it out to a temp file to use it.
This lets us go back to not caring about the version of the nix
dependency.
Scott Worley [Thu, 21 Mar 2024 22:51:31 +0000 (15:51 -0700)]
Release 3.0.15
I won't sign the tag for this release this time because of nixpkgs bugs:
https://github.com/NixOS/nixpkgs/issues/115145
https://github.com/NixOS/nixpkgs/issues/126848
I'll start signing tags again when a fix for this issue
(such as https://github.com/NixOS/nixpkgs/pull/283663 )
is in all stable nixpkgs channels.
Scott Worley [Thu, 25 Jan 2024 02:42:46 +0000 (18:42 -0800)]
Allow more specific invalid symlinks
At some point, we may want to just examine incomparable files & allow
identically-broken symlinks, rather than explicitly list approved
exceptions here.
Scott Worley [Fri, 8 Dec 2023 03:31:09 +0000 (19:31 -0800)]
Fix nested-git issues in pre-commit hook
This has been wonky before (eg: 'git add foo; git commit' would work
while 'git commit foo' would not), but between 2.40.1 and 2.42.0
something about git changed such that the pre-commit completely stopped
working.
So now we properly clean the tests' git invocations' environment.
Scott Worley [Thu, 25 May 2023 01:58:39 +0000 (18:58 -0700)]
Adapt to nixpkgs' nativeCheckInputs change
nixpkgs commit f39abbc3500451fc00c80fed71b0f6f7bba8b6a4, first released in
23.05, requires that everyone move their checkInputs to nativeCheckInputs.
To build both before and after this change, we detect whether we're before
or after this change by reading the manual & behave appropriately. :/
Scott Worley [Wed, 2 Feb 2022 01:25:41 +0000 (17:25 -0800)]
Don't leave old channels laying around
* The channels present should be deterministic -- exactly those
specified in the pins file. The history of which other channels have
been installed should not affect this.
* Before this change, when a channel changes names only slightly, the
old channel could block installation of the new channel.
Scott Worley [Fri, 14 Jan 2022 05:55:09 +0000 (21:55 -0800)]
Support restricted mode: Allow tarball access with search paths.
This allows 'pinch update' to create a new profile. Updating an
existing profile still doesn't work because nix-env can't read the
existing manifest.
Also, the search path names aren't the best. Multiple links
probably don't work in restricted mode. (This tool is deprecated
& is receiving minimal maintenance; patches welcome.)