<ldlework>
I mean, isn't NixOS, the non-Docker version of that?
<colemickens>
I am just frustrated by the number of projects that rebuild better, existing tools just to ride the docker hype train for no reason. My time would be better spent not worrying about how others choose to spend their time.
<colemickens>
Mostly I'm feeling guilty that I am not writing my own "immutable workstation with NixOS" article to evangelize nix
<gchristensen>
how immutable is immutable
<samueldr>
does your workstation run from ROM? DVD-ROM?
<ldlework>
I feel like this is exactly the point of the NixOS Challenge
<ldlework>
I mean, your home-directory can contain mutable stuff, but you have a backup strategy for Real State
<ldlework>
that's part of restortation
<colemickens>
Oooh what is the NixOS Challenge? I'm intrigued.
<gchristensen>
you erase your computer and time how long it takes to be productive again
<colemickens>
Also, ideally booting from a readonly, dm-verity protected partition and/or netbooting into RAM. With an exception for a data dir in $HOME.
<ldlework>
You film/document yourself dd'ing your every-day-workstation and demonstrate that you can fearlessly reproduce it.
<colemickens>
That's what I like to optimize for :).
<gchristensen>
it took me 2hrs... but I was watching a movie, and taking my time
<colemickens>
I think Firefox would be the biggest pain, followed by recloning my repos and branches (but I'm building a tool to help with that too).
<ldlework>
i mean i bet most people would wish they could do it in 2 days
<ldlework>
most people can reinstall their OS pretty quickly
<ldlework>
but to reconfigure every little detail as they had it before?
<samueldr>
there's a catch with your challenge: you assume the user was productive beforehand
<ldlework>
all their tools and so on?
<gchristensen>
samueldr: well, that isn't me
<ldlework>
well anyone who isn't 'productive' probably can't manage the challenge anyway
<ldlework>
whatever that means :)
Synthetica has quit [Quit: Connection closed for inactivity]
<gchristensen>
maybe if / was a fs which was wiped on each boot
<gchristensen>
but /nix and /boot and /home were separate partitions
<jasongrossman>
I have a lot of data on my main drive. So the NixOS Challenge would take me for ever, to restore the backups. If I only had to dd the boot partition, OTOH, that would be quick and easy.
<ldlework>
I really don't think the speed is the issue
<jasongrossman>
Ease then?
<ldlework>
Yeah, and replication coverage
<ldlework>
"Oh fuck, all my discord settings are gone!"
<ldlework>
or whatever
<ldlework>
How little you had to redo or give up is your prize in the NixOS Challenge.
<ldlework>
:)
<gchristensen>
I am wildly tempted to erase my / (my /nix, /boot, and /home are different datasets) and see what would happen... :| :| :|
<gchristensen>
why do I punish myself like this
<colemickens>
sometimes I don't click on nixos-chat for fear of getting off topic. case in point, I just finished the backup of $HOME, time to work on NixOS Challenge.
<colemickens>
Are custom install images allowed? Custom "install" scripts? Am I allowed to prebake the entire OS image and just DD it, assuming it's all repeatable and automateD?
<colemickens>
s/off topic/off focus from my original plans/
<gchristensen>
I think whatever is fair game as long as you end up with a fresh install
<colemickens>
I like that terminology to describe installing an operating system, "real time attack".
<gchristensen>
ah cool
<samueldr>
RTA are speedruns, like in AGDQ, done live in real-time by hand
<gchristensen>
I guess for mine to count, I'd need to, like, focus
<mdash>
colemickens: remember "Twitch Plays Install Gentoo"?
<jasongrossman>
colemickens: After all, experienced people know that backups that you think are straightforward to restore sometimes aren't.
<jasongrossman>
colemickens: So I think even if you're allowed whatever tools you like, it's still an interesting test.
<drakonis>
haha, that zfs thread is somewhat amazing
<drakonis>
i wanna see where this goes.
<jasongrossman>
I used to work on a mainframe which had a hot offsite spare. I wasn't in operations though - I wish I'd asked how they tested it.
jasongrossman has quit [Remote host closed the connection]
drakonis has quit [Read error: Connection reset by peer]
<ldlework>
You can use whatever you want for the NixOS challenge, as long as the crux of your success is Nix and not some other technology.
<ldlework>
Like imaging, or configuration management, etc
<gchristensen>
right. the goal is to talk about how amazing nix is.
<ldlework>
yuuup
<colemickens>
Hm I think `make-disk-image.nix to build an image offline, and then NixOS installer + auto-run dd+grow script`, feels sufficiently nixy, just moving where the magic happens. Might be overkill though, plus I've heard of issues growing partitions like this at "scale".
tilpner has quit [Ping timeout: 250 seconds]
<ldlework>
i think the best you can do, completely automated boot-into-usb-key, touch nothing and have the computer boot into your original environment without any feature loss is as good as it gets
<ldlework>
maybe you can do better by unboxing a new laptop first :)
<colemickens>
ldlework: right- just trying to decide between the usbkey will "dd an image built in CI, then expand the / partition to take full disk" or "repartition with my known sizes, copy nix.configuration, run nixos-install".
<ldlework>
ah
<colemickens>
ldlework: that would be cheeky, but cool (the new laptop, that is)
<ldlework>
i think both are legit tbh
<samueldr>
I wonder between dd+resize vs. copy-closure of a system which would be faste
<samueldr>
r
<gchristensen>
nix copy-closure could be much faster, I think
<samueldr>
you're bumping against the FS for every files possibly, while dd you're bashing the bits and bytes over to the storage
<samueldr>
fs resize is mostly a noop for some FS (e.g. ext4)
<colemickens>
samueldr: that's more what I was thinking, but I don't know enough in this area to assert anything.
<samueldr>
though I'm not certain of what I'm saying either :)
<colemickens>
Hm, as expected this is a good exercise for me finding gaps in my understanding - I don't know exactly how NixOS boots. Does '/' not need any symlinking? I guess maybe not if the bootloader directly references store paths?
<gchristensen>
all that is done at activation time
<gchristensen>
I just booted with a completely empty /, and stage1 (or stage2 I forget) mounted /nix and /boot and created /etc and /var and ... etc.
<gchristensen>
ehh... its a bit weird that my /etc/nixos config is gone though.
tilpner has joined #nixos-chat
<jackdk>
why? that file doesn't need to exist (consider nixops pushing configs to remote machines)
<gchristensen>
well, "weird" in that I forgot that was a side effect of making my / disappear.
<colemickens>
gchristensen: wow, you don't need anything from /var?
<colemickens>
Did you end up relocating your nixos config to /home/nixcfg or something? I was considering it after you mentioned the oddness of it missing.
lassulus has quit [Ping timeout: 240 seconds]
lassulus_ is now known as lassulus
<gchristensen>
colemickens: uhh... nothing yet? but maybe I'll regret it :P
<gchristensen>
colemickens: and, not yet, I've put it back to /etc/nixos each time I needed to, thus far, but indeed I'll probably move it to /home/grahamc/projects/grahamc/nixos-config
<gchristensen>
colemickens: some things that'd be nice to keep is connected bluetooth devices and /var/lib/cups and prior boot logs but beyond that, not really
<colemickens>
Hm, until you mentioned it, I would've assumed BT was per-user, but I guess not. Thanks for the other notes, sounds good.
<Taneb>
Maybe, but the client's running nixos, and I guess it's only indirectly nixos-related
jasongrossman has joined #nixos-chat
hedning has quit [Quit: hedning]
<__monty__>
Is your / composed of mounts or something? Maybe you need nohide or crossmnt or something?
ottidmes has joined #nixos-chat
<elvishjerricco>
disasm: what's up?
hedning has joined #nixos-chat
hedning has quit [Remote host closed the connection]
pie_ has joined #nixos-chat
drakonis has joined #nixos-chat
hedning has joined #nixos-chat
drakonis has quit [Read error: Connection reset by peer]
endformationage has joined #nixos-chat
pie_ has quit [Ping timeout: 260 seconds]
hedning has quit [Remote host closed the connection]
__Sander__ has quit [Quit: Konversation terminated!]
drakonis has joined #nixos-chat
<gchristensen>
by not rising in anger, I was able to get some legit feedback from an otherwise extremely jerk IRC person who wouldn't get past the fact that nix is installable with curl | sh
<gchristensen>
on one hand, people can be such jerks!
<__monty__>
What was their issue with curl | sh?
<gchristensen>
the same tired rhetoric about how curl | sh is always bad
<gchristensen>
I'd replay it for you, but there wasn't anything novel beyond their repeated attempts to trick me in to getting angry / frustrated with them
<{^_^}>
nixos-homepage#258 (by grahamc, 6 minutes ago, open): The Nix release page should include the expected hashes of the tarballs, and also an expected hash of the install script
<{^_^}>
nix#2624 (by grahamc, 13 minutes ago, open): Nix manual should include verification instructions.
Synthetica has quit [Quit: Connection closed for inactivity]
<jasongrossman>
samueldr: Your problem is that you're still using bash. curl | sh works fine in fish. :-)