Hello,
i am trying to setup a netboot for a nixos config. I have tried for quite some hours but i came across this post that is similar to the wiki entry but it actually worked for the netboot.xyz so now i only need to know how i can build the configuration and then use it to install it on boot.
I am having trouble to find out how i setup the config so it works like it does in netboot.xyz
in my configuration.nix this works fine:
{ config, lib, pkgs, ... }:
{
services.pixiecore = {
enable = true;
openFirewall = true;
dhcpNoBind = true;
kernel = "https://boot.netboot.xyz";
};
}
this on the other hand does not really work since i get an error for the βletβ
{ config, inputs, lib, pkgs, ... }:
let
sys = inputs.nixos.lib.nixosSystem {
system = "x86_64-linux";
modules = [
({ config, pkgs, lib, modulesPath, ... }: {
imports = [ (modulesPath + "/installer/netboot/netboot-minimal.nix") ];
config = {
services.openssh = {
enable = true;
openFirewall = true;
settings = {
PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
};
};
users.users.root.openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI..."
];
};
})
];
};
build = sys.config.system.build;
in {
services.pixiecore = {
enable = true;
openFirewall = true;
dhcpNoBind = true; # Use existing DHCP server.
mode = "boot";
kernel = "${build.kernel}/bzImage";
initrd = "${build.netbootRamdisk}/initrd";
cmdLine = "init=${build.toplevel}/init loglevel=4";
debug = true;
};
}
any recommendations on how to build the system and then use it inside the service? the problem is the path i think