<lovesegfault>
qyliss: Did you end up making that node2nix release & nixpkgs PR?
<infinisil>
Um, looks like I can't merge PR's to the release branch anymore :/ "Merging is blocked. The base branch restricts merging to authorized users."
<infinisil>
Or maybe that's because the checks need to succeed now first?
<samueldr>
infinisil: check the branch name again
<infinisil>
Doh!
<samueldr>
:)
<infinisil>
Thanks samueldr :)
<samueldr>
(for the record, the PR was made against the nixos-yy.mm branch, not the release-yy.mm branch)
srk has quit [Ping timeout: 240 seconds]
srk has joined #nixos-dev
supersandro2000 has quit [Quit: Ping timeout (120 seconds)]
supersandro2000 has joined #nixos-dev
Jackneill has quit [Ping timeout: 240 seconds]
Jackneill has joined #nixos-dev
cole-h has joined #nixos-dev
kalbasit_ has quit [Ping timeout: 272 seconds]
<qyliss>
lovesegfault: ran into a weird issue and it's sooo slow to test because I have to update all the node packages 3 times
<qyliss>
so I'm still working on it
<elvishjerricco>
Ok, I'm really happy with how quick and easy it is to iterate with really advanced stuff by having systemd in initrd, but man does it introduce more unknowns. Not because it does more things; but because I have to know more about a foreign project. It's probably the same level of knowledge requirement, but just shifted to the realm of systemd
<elvishjerricco>
Seriously though, it's insanely convenient to have nixos options for "add this upstream unit", "add this unit override", and "add this custom unit" to control stage 1. Dependency ordering is a breeze and you get tons of free functionality from units shipped in other packages
<elvishjerricco>
cole-h: There's still so much to do...... I've got mounting and I'm halfway there on simplistic luks devices :P
<cole-h>
:D
<elvishjerricco>
There's a ton of other features in nixos initrd. Networking's not going to be fun since I don't know a damn thing about networking
<samueldr>
elvishjerricco: unless you really prefer working on that on your own, I'd really suggest opening a draft PR and pinging that one issue :)
<elvishjerricco>
Fair
<elvishjerricco>
I'm just generally opposed to rewrites, which is exactly what this is
<samueldr>
I'm pretty sure multiple users _want_ that already, many more don't know they want it yet
<elvishjerricco>
hence I haven't opened a pr
<samueldr>
is it a rewrite? or an upgrade?
<elvishjerricco>
samueldr: Both? :P
<samueldr>
I wouldn't classify this as a rewrite
<samueldr>
but eh :)
<elvishjerricco>
samueldr: Well considering I'm starting from scratch and using nearly none of the existing code... that's a rewrite
<samueldr>
hm, fair for the nix bits
<elvishjerricco>
Yea initrd in nixos right now is basically an imperative program written by a declarative delegation
<samueldr>
but I would entirely assume the existing stage-1 stuff _has_ to be forgotten about when bringing systemd in stage-1
<samueldr>
yeah
<elvishjerricco>
samueldr: I have plans to make that not so
<elvishjerricco>
to an extent
<samueldr>
interesting
<samueldr>
but this is a rewrite that is probably worth its weight
<elvishjerricco>
The hooks we have neatly line up with some existing systemd targets/services
<elvishjerricco>
like device/mount commands correspond to udev-settle and local-fs units
<samueldr>
having worked with the existing stage-1, and also working on an alternative stage-1
<elvishjerricco>
so just a conglomerate oneshot script unit can handle that
<samueldr>
neat
<elvishjerricco>
samueldr: Yea, like I said, the iteration time on the stuff I've been messing with has been much better than expected
<elvishjerricco>
And it's really easy to make everything properly declarative
<samueldr>
my bespoke stage-1 for mobile-nixos is probably somewhat similar in that they're declarative tasks
<samueldr>
and it really helped compared to the "big sh" strategy
supersandro2000 has quit [Ping timeout: 246 seconds]
<elvishjerricco>
Yea. "big sh" is in my top 5 biggest pain points with nix in general, considering how often it's used
<samueldr>
(I'll be looking carefully at systemd in stage-1 for mobile nixos, if it cannot be used, I'll try to figure a way to make it usable)
<samueldr>
my main issue probably will be the whole GUI thing for boot progress though
<samueldr>
(and passphrase input)
<elvishjerricco>
samueldr: For desktop, plymouth will work MUCH better in my setup
<elvishjerricco>
no idea about mobile
<qyliss>
why, ooc?
<elvishjerricco>
But it'll actually start on time on a desktop in this way :P
<samueldr>
ooc?
<qyliss>
out of curiosity
<samueldr>
qyliss: why about which bit, and for whom? :)
<elvishjerricco>
plymouth sucks in nixos right now (at least on a fast root drive) because it starts in stage 2, which only takes like 2 seconds to boot
<qyliss>
why will plymouth work better
<samueldr>
sorry, I've been saying lots of things, and elvishjerricco too :)
<qyliss>
ahh
<elvishjerricco>
You spend a lot of time in stage 1 waiting for plymouth to start
supersandro2000 has joined #nixos-dev
<samueldr>
plymouth can handle passphrase input
<elvishjerricco>
So getting plymouth's systemd units in stage 1 will go a long way to eliminating that; possibly entirely
<samueldr>
which we can't use in stage-1 yet
<elvishjerricco>
That's another thing
<samueldr>
(I think?)
<elvishjerricco>
We'll be able to use plymouth in stage one for passwords
<qyliss>
that's cool
<samueldr>
not only plymouth, as if I remember right, the protocol for that is independent enough
<elvishjerricco>
Yep
<elvishjerricco>
systemd-ask-password
<elvishjerricco>
Anything using that protocol can work in stage 1 if it uses systemd
<elvishjerricco>
That's my current hurdle with luks
<elvishjerricco>
Getting systemd-ask-password to work...
<samueldr>
which, while currently it doesn't work that way, my boot GUI was made thinking it should be possible to do so
<samueldr>
I think my main hangup with systemd-stage-1-with-mobile-nixos will be those damn ancient kernels :(
<qyliss>
does that not cause problems for systemd in stage2?
<samueldr>
yeah
<samueldr>
which I can currently put fingers in my ears about
<elvishjerricco>
samueldr: Currently, my work is a separate code base along with a one-line patch to nixpkgs that removes the system.build.initialRamdisk assignment so my external module can set that instead.
<elvishjerricco>
Should I instead push a branch of nixpkgs somewhere with changes representing how this would actually work were it merged?
<samueldr>
qyliss: I was just abou thinking that it _is_ already an issue, and it'll probably require soon _something_
<samueldr>
I don't know what
<samueldr>
but at some point systemd will end up requiring something they can't provide, and this time, for real
<lovesegfault>
qyliss: let me know if there's anything I can do to help :)
<samueldr>
elvishjerricco: if you want to start getting feedback, help, and anything, that would be the way to go :)
<samueldr>
but don't feel more pressure than you're comfortable with
<samueldr>
I only want to nudge you toward a great contribution
<qyliss>
samueldr++
<{^_^}>
samueldr's karma got increased to 303
<elvishjerricco>
samueldr: Alright. I'll probably do that soon. Probably going to get basic luks working first since that's where my headspace is at
<samueldr>
elvishjerricco: sure, at your own pace, leisurely if you like it even :)
supersandro2000 has quit [Ping timeout: 265 seconds]
supersandro2000 has joined #nixos-dev
cole-h has quit [Quit: Goodbye]
supersandro2000 has quit [Ping timeout: 265 seconds]
orivej has joined #nixos-dev
supersandro2000 has joined #nixos-dev
supersandro2000 has quit [Quit: Ping timeout (120 seconds)]