| 20 Dec 2025 |
Sofie π³οΈββ§οΈ (she/her) | Is there ANYTHING spare hardware can be used for? | 11:18:34 |
Sofie π³οΈββ§οΈ (she/her) | Just as a general question | 11:18:56 |
0x4fbb09 it/its β―βΞΞ | untrusted spare hardware would be useful for running tests on, no?
fuzzing / reproducibility checks / maybe PR CI
unsure how many of those lix has a need for but none of those are sensitive, the worst a hostile machine could do is lie and say "yeah there's (no) bugs" | 11:41:37 |
Lotte (it/its)/Cinny (she/her) | i donβt think nix lets you split tests in that way without going full on cppnix packaging | 11:43:25 |
tea | I wonder, has anyone made a nix pinning system that vendors code, node-modules style? | 11:46:54 |
tea | as far as I know, things like npins generate a nix file with fetchers; it'd be an interesting alternative approach | 11:47:52 |
0x4fbb09 it/its β―βΞΞ | "npins but the fetchers are just a path" ig? | 11:48:24 |
tea | well yeah, but I'd also want it to auto-vendor the deps :)
not sure this would be a practical improvement over npins, but maybe its good to avoid ifd | 11:49:47 |
Lotte (it/its)/Cinny (she/her) | crate2nix does that for some reason | 11:50:50 |
0x4fbb09 it/its β―βΞΞ | i don't think npins strictly speaking uses ifd, it just uses builtins fetchers? | 11:52:08 |
0x4fbb09 it/its β―βΞΞ | (which you can get it to not do, if you give it a nixpkgs, but you need to use a builtin fetcher to fetch nixpkgs itself) | 11:52:34 |
piegames | In reply to @522_:catgirl.cloud i don't think npins strictly speaking uses ifd, it just uses builtins fetchers? IMO builtin fetchers are no different than IFD for all intents and purposes | 13:04:47 |
piegames | My dream is to have builtin fetchers return a special derivation which would make the IDF part more explicit (and also be part of an IFD as first-class citizen approach) | 13:05:33 |
piegames | But tbh that is not my battle field to work on, so other people may decide differently | 13:06:11 |
0x4fbb09 it/its β―βΞΞ | ig you could vendor "nixpkgs but just enough to make fetchers work" and then use those fetchers for everything else | 13:06:37 |
0x4fbb09 it/its β―βΞΞ | so you're not vendoring All Of Nixpkgs but also not using builtin fetchers | 13:06:53 |
kloenk | would that help anything? does still need IFD then, or am I missing something right now? | 13:08:21 |
0x4fbb09 it/its β―βΞΞ | uhhhh maybe, but it wouldn't block eval on a network download ig? | 13:08:46 |
0x4fbb09 it/its β―βΞΞ | well actually no if it's just vendored then it's just like any other code in your project | 13:09:20 |
K900 | I want zeroth class IFD | 13:09:23 |
K900 | I want IFD to just be part of the build graph and no one gives a fuck | 13:09:32 |
Lotte (it/its)/Cinny (she/her) | yeah | 13:10:14 |
0x4fbb09 it/its β―βΞΞ | i assume "ifd is slow" isn't fundmental to the concept and is just an implementation thing | 13:10:33 |
Lotte (it/its)/Cinny (she/her) | yeah | 13:10:47 |
Lotte (it/its)/Cinny (she/her) | or racconfig uses IFDs to patch inputs | 13:10:55 |
Lotte (it/its)/Cinny (she/her) | it also used to use them to generate a stylix palette? | 13:11:11 |
K900 | IFD is only slow because it blocks everything else | 13:13:03 |
K900 | Which it absolutely does not have to do | 13:13:07 |
piegames | You remind me of https://bartoszmilewski.com/2014/02/26/c17-i-see-a-monad-in-your-future/ :p | 13:54:32 |
pentane β | yeah I've also already thought about how to model the evaluation/build process of Nix derivarions as a monadic data structure
basically you wanna have a monad like Derivation a, where a is the type of the value produced by the build of the derivation (currently, Nix derivations always produce files or directories, but theoretically nothing speaks against derivations producing strings, integers, etc as their build result too)
Derivation FileOrDirectory would then be equivalent to our current .drv files
| 14:21:10 |