{`-`} has joined #nixos-r13y
<gchristensen> samueldr: I think you can edit the topic without +o
<samueldr> oops
samueldr changed the topic of #nixos-r13y to: Make NixOS reproducible. https://github.com/NixOS/nixpkgs/projects/36 https://r13y.com/ https://logs.nix.samueldr.com/nixos-r13y
{`-`} has joined #nixos-r13y
<melg8> guys, i need your opinion/support or discussion in general. There is a project called live-bootstrap, which try to build form initial seed binary (like <1k bytes) to (at least it's gcc 4.0.4 for now). But it uses only self invented kaem build (substitute for make) and than bash scripts after bash is available. It has linear structure and like 70 +
<melg8> entries build one by one. Do you think it would be useful for nix community - if i try to port it to nix derivations? (project has chroot option already) and try to compare results, so any trusted trust attacks on nix itself would be revealed (at least opportunity). and than - it could enable minimization of nix bootstrap binaries sizes. What do
<melg8> you think?
tomberek has quit [Quit: Connection closed]
<melg8> Or better to stick with guix - an use their path to bootstrap? (but it will imply guile binary dependency)
<drakonis> if you're going to involve them, might as well ask around on #bootstrappable or #guix
<drakonis> i'm sure they would appreciate more people
<melg8> i'm already contributing to live-bootstrap (at least my pr is ready to merge, but they have issue with 2h hard stop on ci, which i can't fix by myself), but they more focused on clean solution, in that regard - nix will be a part of binary seed. and live-bootstrap path of bootstrapping is different from guix. But i can't fully replicate guix path
<melg8> (at least for now) because they just wrote some tool which is converting derivations to linear build scripts. I don't know now if same thing can be done sanely for nix or not.
<melg8> nix on the other hand have much more developed chroot jail ecosystem compared to live-bootstrap.
qyliss has quit [Quit: bye]
<drakonis> live-bootstrap strikes me as a distro agnostic solution
qyliss has joined #nixos-r13y
<drakonis> it isnt taking advantage of nix to achieve it
<melg8> it is distro agnostic, but when our distro will use it) guix is moving, live-bootstrap exists, but i can't find nix people which work on something about bootstrapability for nix users. or i don't know how search for them - i've asked in bootstrappable, in non-official nix discord etc.
<drakonis> well...
<melg8> btw is there a way to introspect nix derivation? workaround solution might be - write derivation which can be build by nix, but also - be as argument to some nix function, which produce clean script from it, which can run as live-bootstrap runs it
<drakonis> step through the build process and view the intermediary steps?
<drakonis> if i understand it correctly
<melg8> yes, or i might just write it as some big atribute set, which have 2 consumers - 1 providing scripts  2- providing derivations
<melg8> i want use nix to mange dependencies, split steps (live-bootstrap is like one giant step for 45 min) and linearise them
<drakonis> that'd be a lot like what guix does i'd say
<drakonis> they've split the whole process into steps
<drakonis> but i suppose you've already seen how they do it
<melg8> i'm not really prepared scheme reader, so just a glance
<melg8> i don't think nix or guix distro will use at the end full source bootstrap in main branch, because that would imply building some kernels...
<drakonis> well...
<drakonis> guix does that from the very beginning
<drakonis> its part of the chain there and you can access the pieces that compose the bootstrap all the way up to the current version
<drakonis> its part of their goals
<melg8> can you share some links? what they rely on when building kernel? because if they use stage0-posix - it already need kernel to run
<drakonis> these are their blog posts related to the topic
<melg8> really like they dedication to that problem, would be cool to mirror their success with nix
<drakonis> guix has every gcc version bootstrapped today
<drakonis> you can use any of them for builds, its impressive.
<melg8> i like how guix presents dependencies graph, want same for linux-bootstrap)
melg8 has quit [Quit: Connection closed]
<siraben> The #bootstrappable folks are doing impressive work
<drakonis> indeed.
<siraben> one of the steps towards using it IMO is a more minimal stdenv
<siraben> stdenvNoCC is still quite big
<siraben> and that repo has kaem, m2-planet, mescc-tools packaged up in Nix if someone wants to use them feel free
^ has joined #nixos-r13y
melg8 has joined #nixos-r13y
<melg8> When try to bootstrap things from source instead of binaries. Do i need to split my derivations into two phases or parts - one - preparing all sources needed to bootstrap from them, and other - is derivations - building things from this sources image? by analogy how
tomberek has joined #nixos-r13y
melg8 has quit [Quit: Connection closed]
Taneb has quit [Read error: Connection reset by peer]
Taneb has joined #nixos-r13y
melg8 has joined #nixos-r13y
<tomberek> melg8: yeah, this is the sort of thing Nix can help with a lot. At this stage it's research for you to see how far you get and to uncover problems along the way? Absolutely. Once it reaches a certain maturity level and if it has the desired properties then further design/thoughts/proposals would be exciting
xwvvvvwx has quit [Ping timeout: 265 seconds]
xwvvvvwx has joined #nixos-r13y
tomberek has quit [Quit: Connection closed]
tomberek has joined #nixos-r13y