4 ms·
Another option is to run it ephemerally from the RAM. I have been doing this for my laptop and servers for years now. You can do so by declaring the following:
by Jhsto 1y ago
Another option is to run it ephemerally from the RAM. I have been doing this for my laptop and servers for years now. You can do so by declaring the following: https://github.com/ponkila/HomestakerOS/blob/main/nixosModules/base/flake.nix#L30-L158 https://github.com/ponkila/HomestakerOS/blob/main/nixosModul...
You need to then have a flake which defines a "package" like this: https://github.com/jhvst/nix-config/blob/main/flake.nix#L117-L119 https://github.com/jhvst/nix-config/blob/main/flake.nix#L117...
Now you can run 'nix build .#starlabs' which will create you the files needed for kexec / PXE booting.
You can also write tests that these images actually boot ok: https://discourse.nixos.org/t/nixostest-with-flake-configurations/11542/8 https://discourse.nixos.org/t/nixostest-with-flake-configura...
I started working on this stuff because I needed to somehow reliably update my homeserver. I live abroad 50 weeks a year, so I needed something reliable because I can't assume I have physical access to the computer. Even when the BMC firmware got screwed by ASRock motherboard firmware, I didn't need to sweat.
Now for the shameless plug: my company created a PXE server module which also supports flakes that assumes this ephemeral setup. It's described in here: https://github.com/majbacka-labs/nixos.fi https://github.com/majbacka-labs/nixos.fi
- bjackman 1y agoAh yes this also looks fantastic and something I intend to try. At $work we have insane platforms that are extremely hostile to platform development but they do support a (obviously annoyingly custom and limited) PXE-like thing and I'm hoping I can boot NixOS via that and just never even touch the disk (which is full of insane custom $work platform bullshit).