!VRULIdgoKmKPzJZzjj:nixos.org

Nix Package Manager development

825 Members
For people hacking on Nix: https://github.com/NixOS/nix Nix maintainers can be reached here.180 Servers

Load older messages


SenderMessageTime
1 Jul 2025
@fzakaria:one.ems.hostfzakariaoh man03:05:34
@fzakaria:one.ems.hostfzakariareplacing bison/yacc would be such a big development boost i think; 03:05:44
@djacu:matrix.orgdjacuHey Nix Team In case you haven't seen the recent post on discourse, the Marketing Team is preparing this year's community survey. I am reaching out to teams to see if there are any questions they would like to add to the survey to better serve the work you all do. More details in the post linked below. https://discourse.nixos.org/t/community-feedback-requested-2025-nix-community-survey-planning/6615503:27:54
@roberthensing:matrix.orgRobert Hensing (roberth)This would be similar to LFS support, iiuc, which is already implemented11:19:06
@magic_rb:matrix.redalder.orgmagic_rb
In reply to @joerg:thalheim.io
how would this be used with nix?
Yeah, as robert said, with the current lack of support, if you have a repository with annex you end up with a bunch of dangling symlinks
11:26:49
@magic_rb:matrix.redalder.orgmagic_rb
In reply to @roberthensing:matrix.org
This would be similar to LFS support, iiuc, which is already implemented
Its important to not resolve the symlink but just repoint them to the store. But yes, if base the code on git lfs
11:27:18
@roberthensing:matrix.orgRobert Hensing (roberth) magic_rb: Ohh the keys can be arbitrary and dependent on the annex backends? Seems like it will be hard to be sure that it's reproducible then - impossible if we want fully general support for it 11:32:12
@magic_rb:matrix.redalder.orgmagic_rb
In reply to @roberthensing:matrix.org
magic_rb: Ohh the keys can be arbitrary and dependent on the annex backends? Seems like it will be hard to be sure that it's reproducible then - impossible if we want fully general support for it
Wdym keys, so the way it works is that there are symlinks checked into git which point into .git/annex/... and the keys there are sha256 hashes of the annexed file content always. So the backend doesnt matter.
11:39:55
@magic_rb:matrix.redalder.orgmagic_rb If the annexed file isnt in the local annex store, the symlink will be dangling and then nix should throw an error ideally. To make it not do that one much do git annex get path/to/symlink which will copy the file into the local annex 11:40:47
@roberthensing:matrix.orgRobert Hensing (roberth) I started with this very high level description here, which suggests that the key can be anything 11:40:52
@roberthensing:matrix.orgRobert Hensing (roberth)if it's always sha256, or at least in practice, we can rely on that property to do the same thing we do for LFS11:41:12
@roberthensing:matrix.orgRobert Hensing (roberth)(or similar if we want it to be a symlink)11:41:27
@magic_rb:matrix.redalder.orgmagic_rbOh yeah okay backends11:41:45
@magic_rb:matrix.redalder.orgmagic_rbDamn didnt know there was that too11:41:54
@magic_rb:matrix.redalder.orgmagic_rbWe could enforce a blessed set of backends yeah11:42:08
@roberthensing:matrix.orgRobert Hensing (roberth)Partial support can be great if virtually everyone uses the SHA256 stuff11:42:15
@roberthensing:matrix.orgRobert Hensing (roberth)yea11:42:19
@magic_rb:matrix.redalder.orgmagic_rbIf its blake2 cant we sha256 hash the blake2 hash, or is that a horrible idea11:42:45
@roberthensing:matrix.orgRobert Hensing (roberth) Probably a symlink to a synthetic .git/annex directory is preferable 11:42:52
@magic_rb:matrix.redalder.orgmagic_rb
In reply to @roberthensing:matrix.org
Probably a symlink to a synthetic .git/annex directory is preferable
Id say that each annexed object should be a separate store path
11:43:15
@magic_rb:matrix.redalder.orgmagic_rbYou dont want to be copying 40GB every time a single image changes11:43:25
@roberthensing:matrix.orgRobert Hensing (roberth)True, but we shouldn't be copying those store paths in the first place11:43:50
@roberthensing:matrix.orgRobert Hensing (roberth)And if we do, they should match the non-Nix layouts11:44:02
@roberthensing:matrix.orgRobert Hensing (roberth) Currently there's not much of a connection between libfetchers fetchers and the store layer, so putting it in the store is more complicated than putting it in .git/annex, fwiw 11:44:27
@magic_rb:matrix.redalder.orgmagic_rb Wait so we just tell nix to include .git/annex during eval? 11:44:57
@roberthensing:matrix.orgRobert Hensing (roberth) (copying to the store only happens at the end of fetchTree and not within the individual source accessors) 11:45:02
@magic_rb:matrix.redalder.orgmagic_rbOkay im lost lol11:45:17
@magic_rb:matrix.redalder.orgmagic_rb We do have to copy for a build still no? 11:45:50
@roberthensing:matrix.orgRobert Hensing (roberth)So we have the sources accessor objects that behave like very simple virtual file systems, and we plan to use them directly instead of copying everything to the store all the time11:46:11
@roberthensing:matrix.orgRobert Hensing (roberth) They can implement operations like readDirectory or readFile as they please, so the git accessor with annex enabled could add a .git and .git/annex to what it returns, and then do whatever is necessary to return the contents of that 11:47:31

Show newer messages


Back to Room ListRoom Version: 6