!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

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

Load older messages


SenderMessageTime
26 Jul 2025
@aloisw:julia0815.dealoisw How many packages depend on nix-prefetch-git outside of fixed-output derivations?! 16:50:37
@aloisw:julia0815.dealoisw I do remember a couple of infinite recursions involving that, but I think it did not even use nixForLinking? 16:51:06
@piegames:flausch.socialpiegamesnpins etc.16:52:46
@emilazy:matrix.orgemilyI remember it was a lot but I don't remember why.16:53:24
@emilazy:matrix.orgemilywell, it doesn't link. it shells out. but it no longer pulls in Nix by default I think16:53:42
@aloisw:julia0815.dealoiswAnyway regarding exposing the overlay from nixpkgs, it seems that trying to add the overlay to the same pkgs instance used to get it will cause infinite recursion.16:54:24
@emilazy:matrix.orgemily
    "prefetch-yarn-deps" # force these onto upstream so we are not regularly rebuilding electron

has some clue

16:54:25
@emilazy:matrix.orgemily with prev, not final? 16:54:44
@aloisw:julia0815.dealoisw I have tested something like let pkgs = import ./. { overlays = [ pkgs.dummyOverlay ]; }; in pkgs. 16:55:19
@piegames:flausch.socialpiegames nixpkgs = import <nixpkgs> { overlays = [ (self: super: { myOverlay = self: super: {}; }) (self: super: super.myOverlay self super) ]; } works though 16:56:50
@piegames:flausch.socialpiegames So import <nixpkgs> { overlays = [ (self: super: super.ourLixOverlay self super) ]; } should work 16:57:50
@piegames:flausch.socialpiegameswhich is basically like that one except the overlay gets access to its inputs, in a way16:58:29
@emilazy:matrix.orgemilyit doesn't take parameters16:58:50
@piegames:flausch.socialpiegames* which is basically like that one except the overlay gets access to its inputs, in a way (not sure if that even adds anything useful in the first place though)16:58:52
@emilazy:matrix.orgemily overlays = [ pkgs. can never work 16:58:59
@emilazy:matrix.orgemily overlays = [ (final: prev: prev.dummyOverlay) ]; should 16:59:06
@emilazy:matrix.orgemily I don't think you need the arguments in lixPackageSets 16:59:39
@emilazy:matrix.orgemilyits "prev" is essentially the wider package set it's instantiated in17:00:04
@aloisw:julia0815.dealoisw
In reply to @emilazy:matrix.org
    "prefetch-yarn-deps" # force these onto upstream so we are not regularly rebuilding electron

has some clue

Am I looking at the correct thing here https://github.com/NixOS/nixpkgs/blob/7379d27cddb838c205119f9eede242810cd299a7/pkgs/development/tools/electron/common.nix#L53-L56 ? That's a FOD.
17:00:16
@emilazy:matrix.orgemily it does mean that lixPackageSets will become a double-overlay in the resulting package set though, which is fun. 17:00:18
@emilazy:matrix.orgemilybut you do want an explicit non-overlay thing so that those packages can be used from the CLI, anyway17:00:28
@emilazy:matrix.orgemilyI don't understand it either, but also like I said this stuff changed at some point I believe17:00:54
@piegames:flausch.socialpiegamesyeah, I figured17:01:21
@aloisw:julia0815.dealoisw
In reply to @emilazy:matrix.org
overlays = [ (final: prev: prev.dummyOverlay) ]; should
final: prev: prev.dummyOverlay final prev, but yes that works, cool trick.
17:02:21
@emilazy:matrix.orgemilythat's not the trick I mean :)17:02:33
@aloisw:julia0815.dealoiswAh you want to use an attrset as an overlay?17:03:33
@emilazy:matrix.orgemily you can do dummyPackages = { nix = pkgs.hello; } 17:03:34
@emilazy:matrix.orgemily and then (final: prev: prev.dummyPackages) should work 17:03:41
@emilazy:matrix.orgemily that's how lixPackageSets could work (but it does admittedly infrec right now) 17:04:05
@emilazy:matrix.orgemily (I guess because it's overlaying newScope, lol) 17:04:13

Show newer messages


Back to Room ListRoom Version: 10