Graham Christensen
banner
grahamc.com
Graham Christensen
@grahamc.com
determinate.systems. Nix obsessed.

he/him

📻 no5ig
Interesting. Nix carefully tracks runtime and build time dependencies, so this seems surprising to me.
October 8, 2025 at 8:46 PM
Hell yea
July 18, 2025 at 9:10 PM
Got a link?
July 9, 2025 at 10:33 AM
ah! I need some custom stickers made in bulk on short order
May 16, 2025 at 7:51 PM
I love the sentiment of this style of message (which I’ve seen you do a bunch of times.) I’ve always wondered what it means though. Is there like, a procedure/coordination? I’d love to see behind the curtain!
May 2, 2025 at 3:28 PM
Oh my god that is beautiful.
May 2, 2025 at 3:26 PM
Upgrade to Determinate Nix 3.4, by ... I mean, that picture :) but for posterity:

determinate-nixd login
sudo determinate-nixd upgrade

Or install it for the first time from docs.determinate.systems (we recommend the package on macOS!)
Determinate documentation
An end-to-end toolchain for using Nix courtesy of Determinate Systems
docs.determinate.systems
April 29, 2025 at 2:07 AM
Anyway, Determinate Nix 3.4.1 is now out. It warns if you're using channels, and implicit, or indirect (registry) flake references in flake.nix files. Determinate Nixd had some nits picked, like over-eager error logging. And of course, the `upgrade` command is more instructive.
April 29, 2025 at 2:07 AM
This represents our values in a lot of ways:

Be honest & transparent: We know this isn't great, here's the bug.

Don't make things worse: Here's how to move forward.

It should feel good to use: It has system specific instructions depending if you're on macOS, NixOS, and Linux.
April 29, 2025 at 2:07 AM
In the meantime, Determinate Nix 3.4.1 helps you upgrade more successfully. Where it used to crash out on a ridiculous error, now it _tells you_ that you have to log in.
April 29, 2025 at 2:07 AM
that means you have to log in to FlakeHub to download prebuilt upgrades. This is not some brain genius number-go-up-maxxing, but an annoying side effect of Product Design Decisions. I wrote up a tracking ticket for folks while we solve that: github.com/DeterminateS...
Tracking: Upgrading Determinate Nix soft-requires credentials. · Issue #45 · DeterminateSystems/nix-src
Because FlakeHub Cache does not offer any public caches, upgrading Determinate Nix requires being logged in to FlakeHub to download Determinate Nix. This is ... not ideal, to say the least. Further...
github.com
April 29, 2025 at 2:07 AM
That is THE use case, yeah! I agree. That’s exactly why we’re doing this 💪
April 26, 2025 at 4:21 PM
It is a VERY bizarre feature, and I’m glad to be deprecating it 😅
April 26, 2025 at 4:07 PM
These two strategic changes are aimed at eliminating confusion and surprise, and are based on working with our users and hearing their feedback.

I can't wait for Determinate Nix 3.4 to ship on Monday!
April 26, 2025 at 3:29 PM
The two issues compound with `nixpkgs` (indirect flakeref) and `<nixpkgs>` (nix path/channel "diamond" reference.) They look similar, but mean entirely different things.

It gets worse when root's channels are configured differently from a user's. Even worse still on macOS.
April 26, 2025 at 3:29 PM
Similarly, we frequently see confusion when locking a flake which uses implicit inputs and indirect flakerefs. Indirect flakerefs are great on the CLI. Determinate Nix will start warning when you use them as a flake.nix input url, where they're a negative: github.com/DeterminateS...
Intent to ship: deprecating usage of flake registry entries in `flake.nix` inputs · Issue #37 · DeterminateSystems/nix-src
This is an entry of our roadmap for Determinate Nix, which is guided by user and customer feedback. Over the next months, we will progressively deprecate usage of shorthand flake registry entries a...
github.com
April 26, 2025 at 3:29 PM
We've seen countless users trip themselves up on outdated channels and confusing them for the `nixpkgs` flake ref used by `nix run nixpkgs#`, etc.

Determinate Nix Installer hasn't shipped configured channels for years, and now we're warning against them: github.com/DeterminateS...
Intent to ship: deprecation of channels · Issue #34 · DeterminateSystems/nix-src
This is an entry of our roadmap for Determinate Nix, which is guided by user and customer feedback. Over the next months, we will progressively deprecate channels and the nix-channel command. This ...
github.com
April 26, 2025 at 3:29 PM