| 31 Mar 2026 |
Charles | either way, this means i would need my program to compute the store path ahead of time, which i don't immediately know how to do | 00:18:40 |
griff | It is an old and stupid format. but unless you want to talk daemon, probably the easiest. | 00:18:53 |
Charles | yeah, i would rather use the client programs to avoid being dependent on any particular nix implementation | 00:19:21 |
griff | snix, nix.rs and harmonia has code for making the store path | 00:19:42 |
Charles | do you happen to know whether nix-store --import buffers everything in memory or can it stream the input | 00:20:20 |
griff | All Nix implementations talk more or less the same daemon protocol. It is kind of locked and one of the reasons Lix wants to move to something they control. | 00:21:07 |
griff | I think I recall that it buffers in memory and writes a temp file if there is too much data. But it is several years since I looked at it. | 00:22:50 |
Charles | hmm okay | 00:24:12 |
Charles | this seems more or less doable then, thank you | 00:25:12 |
Charles | (the goal is pure eval for non-flakes nix, and this is necessary for filtering what ends up in the store prior to initiating pure eval) | 00:26:55 |
zoë (she/her) | this might just be me being dumb, but is there any instructions for doing a single-user lix install (specifically, without being root, and specifically with a different prefix than /nix)? or better yet, anyway to do it with the installer? i know the official cppnix one has a single-user mode (though it still puts stuff in /nix), but if there's an easier way than bootstrapping lix through cppnix i'd be all ears | 08:31:53 |
zoë (she/her) | * | 08:37:12 |
zoë (she/her) | * | 08:37:21 |
tc424 (Steve D) | Does lix actually support single-user these days? I thought it was pretty deprecated | 08:45:01 |
Yureka (she/her) | I regularly use lixStatic on systems which don't have a /nix/store | 08:53:27 |
Yureka (she/her) | simply by setting store = /home/yuka/store in my ~/.config/nix/nix.conf | 08:54:02 |
Yureka (she/her) | then I can nix build stuff and it appears in /home/yuka/store/nix/store | 08:54:13 |
Yureka (she/her) | Redacted or Malformed Event | 08:54:18 |
Yureka (she/her) | obviously it can't be executed from there | 08:54:22 |
Yureka (she/her) | but it's still useful for remote builds | 08:54:30 |
Yureka (she/her) | and when I really want to execute things from there I can use bubblewrap or unshare to do an unprivileged bind-mount of /home/yuka/store/nix to /nix | 08:55:06 |
raitobezarius | are you on NixOS? | 13:56:52 |
raitobezarius | on non-NixOS, it seems like you could just install Lix using its installer | 13:56:59 |
raitobezarius | on NixOS, you can simply rebuild your NixOS config? | 13:57:07 |
neobrain | perhaps you already know, but worth mentioning that a custom store location comes with baggage; most notably you'll be unable to use binary caches (... unless you generate them yourself from your custom prefix) | 14:13:08 |
neobrain | (not sure to what extent it's supported in the first place. I remember a recent-ish talk about it at one of the nix conferences) | 14:13:44 |
Lisanna | you can use a store in a different location and have caching work fine, it's the store prefix (store-dir) that breaks caching if you change it | 16:00:42 |
Lisanna | * you can use a store in a different location and have caching work fine, it's the store prefix (nix/store) that breaks caching if you change it | 16:02:20 |
Lisanna | it's a little confusing, but a local --store can be wherever you want on your filesystem and caching will work fine, the ?store= should generally never change from /nix/store (it'll just fully resolve to e.g. /tmp/mystore/nix/store instead) | 16:04:24 |
neobrain | ohh interesting | 16:13:55 |