!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

451 Members
(Technical) development of Lix, the package manager, a Nix implementation. Please be mindful of ongoing technical conversations in this channel.148 Servers

Load older messages


SenderMessageTime
26 Jul 2025
@emilazy:matrix.orgemily there is pkgs.extend, but generally overlays in Nixpkgs are only used for stdenv bootstrap. my understanding was that the point of lixPackageSets was to have the overrides that you can overlay directly, but I'm not 100% sure 16:39:16
@emilazy:matrix.orgemily (so you can also pkgs.extend pkgs.lixPackageSets.<version>, in non-NixOS) 16:39:39
@emilazy:matrix.orgemily(er, type error)16:39:53
@aloisw:julia0815.de@aloisw:julia0815.de
In reply to @piegames:flausch.social
e.g. pkgs.lixOverlay, which takes a Lix derivation and produces an overlay which overrides all packages that depend on Nix to use that derivation
Do you want to use this in a particular place? Or just expose it to users?
16:40:11
@aloisw:julia0815.de@aloisw:julia0815.de
In reply to @emilazy:matrix.org
I thought the idea was to do something like nixpkgs.overlays = [ (final: prev: prev.lixPackageSets.<version>) ]; or something?
That probably does not really work, given that lixPackageSets has some non-Lix packages in it, and the Nix implementation is called lix there and not nix.
16:41:08
@emilazy:matrix.orgemilyfair enough. I thought that was the general idea, but I can believe the implementation is not there yet :)16:41:35
@emilazy:matrix.orgemily nix = lix; seems like an easy enough fix, though 16:41:43
@emilazy:matrix.orgemilyhaving non-Lix packages in it is the point, right? to overlay stuff that depends on Nix16:41:52
@aloisw:julia0815.de@aloisw:julia0815.deI mean that's basically what the nixos-module does right?16:42:02
@emilazy:matrix.orgemily e.g. it has nixpkgs-review and so on 16:42:17
@qyriad:katesiria.orgQyriad Technically it's what the overlay that the nixos-module adds does 16:42:30
@emilazy:matrix.orgemilythe module does the opposite16:42:48
@aloisw:julia0815.de@aloisw:julia0815.deWait it does things other than adding an overlay?16:42:57
@emilazy:matrix.orgemilymostly enumerating exceptions to a general overlay16:42:57
@qyriad:katesiria.orgQyriadSo most of the logic is in the overlay16:43:11
@emilazy:matrix.orgemily as opposed to explicitly having nix-direnv, nix-eval-jobs, etc. like lixPackageSets does (which is more upstreamable) 16:43:17
@qyriad:katesiria.orgQyriad It also adds two configuration options for optionally disabling Lix 16:43:27
@emilazy:matrix.orgemily OTOH, boehmgc, editline, etc. would certainly have to go 16:43:33
@aloisw:julia0815.de@aloisw:julia0815.de
In reply to @emilazy:matrix.org
as opposed to explicitly having nix-direnv, nix-eval-jobs, etc. like lixPackageSets does (which is more upstreamable)
Ah, I see what you want to do. Your suggestion might actually be enough for that.
16:44:13
@qyriad:katesiria.orgQyriad I stand corrected: just one https://git.lix.systems/lix-project/nixos-module/src/commit/4d4c2b8f0a801c91ce5b717c77fe3a17efa1402f/module.nix#L7-L13 16:44:16
@emilazy:matrix.orgemily"I" here is just "my understanding of the plan to upstream the module as seen in https://wiki.lix.systems/books/lix-contributors/page/2025-06-26-lix-nixos-module"16:44:44
@emilazy:matrix.orgemily admittedly, if nix = lix; was added, you'd start needing all the exceptions again 16:44:54
@emilazy:matrix.orgemily anyway I guess you'd either need to move the internal deps like editline into another scope, or you'd need to move the "stuff overridden to use Lix" into a sub-scope that can be used as an overlay. 16:45:55
@emilazy:matrix.orgemily and then you have the question of whether to nix = lix; (I think nixForLinking was meant to make this possible without needing exception hacks) or just enumerate stuff to override 16:46:21
@aloisw:julia0815.de@aloisw:julia0815.de Lol nixForLinking was made to not be overridden by Lix? 16:47:32
@emilazy:matrix.orgemilythat's my understanding16:47:56
@emilazy:matrix.orgemily (I think it was originally cppnix? with predictable results.) 16:48:18
@emilazy:matrix.orgemilyblanket overriding stuff that links against the API doesn't make sense since there's no promise of compatibility there, I think. though in some cases I imagine the issue is just the number of rebuilds16:48:58
@aloisw:julia0815.de@aloisw:julia0815.de

I must have been lucky then my configuration did not break given its overlay has:

nix = stableLix;
nixForLinking = stableLix;
nixVersions = builtins.throw "nixVersions is disabled";
16:49:03
@emilazy:matrix.orgemily I guess now that nix-prefetch-git doesn't pull Nix into a billion closures it's probably not that many rebuilds 16:49:33

Show newer messages


Back to Room ListRoom Version: 10