!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

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

Load older messages


SenderMessageTime
15 Sep 2025
@raitobezarius:matrix.orgraitobezariusso I guess the question is18:33:11
@raitobezarius:matrix.orgraitobezariusshould submodules be an available option with the path fetcher type18:33:18
@raitobezarius:matrix.orgraitobezariusor wait18:33:43
@raitobezarius:matrix.orgraitobezarius you got an error because the thing referred to self.submodules ? 18:33:48
@raitobezarius:matrix.orgraitobezariuslet me try to reproduce your thing18:34:33
@raitobezarius:matrix.orgraitobezariuswith path18:34:34
@laurents:fsfe.orglaurents this is the input I had url = "path:/home/laurent/Sites/dada/alaveteli_dev"; 18:34:35
@laurents:fsfe.orglaurentsand that repo is a local clone of the github repo18:34:50
@raitobezarius:matrix.orgraitobezariusaaaaaaaah18:36:28
@raitobezarius:matrix.orgraitobezariusi see18:36:29
@raitobezarius:matrix.orgraitobezariusyeah it's a bug in the flake-self-attrs experimental implementation18:36:53
@raitobezarius:matrix.orgraitobezarius i don't think it should try to pass submodules to the path fetcher 18:37:03
@raitobezarius:matrix.orgraitobezariusit should only pass it to a git fetcher18:37:07
@laurents:fsfe.orglaurents I'm wondering if git+file:// could work 18:37:34
@raitobezarius:matrix.orgraitobezarius
    static std::set<std::string> allowedAttrs{"submodules"};
    auto newRef(ref);

    for (auto & attr : *flake.selfAttrs) {
        if (!allowedAttrs.contains(attr.first)) {
            throw Error("flake 'self' attribute '%s' is not supported", attr.first);
        }
        newRef.input.attrs.insert_or_assign(attr.first, attr.second);
    }
    if (newRef != ref) {
        return newRef;
    }

18:38:16
@raitobezarius:matrix.orgraitobezariusthis is the piece of code that is wrong18:38:19
@raitobezarius:matrix.orgraitobezarius nwRef.input.attrs.insert_or_assign should NOT happen if the input DOES NOT support submodules 18:38:36
@raitobezarius:matrix.orgraitobezariusand… probably a warning should be emitted to tell you "hey, you are using a fetcher that doesn't support automatically retrieving submodules, this is fine but if you forget to do it, things could not work"18:39:06
@raitobezarius:matrix.orgraitobezarius newRef.input.scheme should be the variable you should use to gate this assign 18:39:38
@raitobezarius:matrix.orgraitobezarius newRef.input.scheme == "git" probably 18:39:43
@raitobezarius:matrix.orgraitobezariusthat being said, not using flakes here would probably be very hard if you want to keep the input.follows behavior18:40:28
@raitobezarius:matrix.orgraitobezariusbasically, we need flakes-compat to support the follows system18:40:49
@raitobezarius:matrix.orgraitobezariusand then you wouldn't have to deal with this18:40:55
@raitobezarius:matrix.orgraitobezariusbut you'd lose all the flakes CLI18:41:03
@raitobezarius:matrix.orgraitobezariuslet's just fix that bug I'd say18:41:08
@laurents:fsfe.orglaurents so git+file:// instead of path:// fixes it :) 18:41:26
@raitobezarius:matrix.orgraitobezariusgreat :)19:02:39
@raitobezarius:matrix.orgraitobezarius I still think some warning to recommend git+file:// is relevant 19:03:21
@laurents:fsfe.orglaurentsI'll see if I can work out all the layers of stuff I have to learn to fix that piece of code19:03:37
@laurents:fsfe.orglaurentsbut yes, I agree that a nice warning would be better19:04:00

Show newer messages


Back to Room ListRoom Version: 10