nix-config/hosts/nfsroot/tftp.nix

36 lines
1.1 KiB
Nix

{ tftproots, hostRegistry, lib, pkgs, ... }:
{
networking.firewall.enable = false;
# raspberrypi boot
services.atftpd = {
enable = true;
root =
let
netbootxyzVersion = "2.0.65";
netbootxyz_efi = pkgs.fetchurl {
url = "https://github.com/netbootxyz/netboot.xyz/releases/download/${netbootxyzVersion}/netboot.xyz.efi";
sha256 = "1k9i82iw6lhs1h8qy8yapasqcl31yxl2jxn52ls5anvm477650qk";
};
netbootxyz_kpxe = pkgs.fetchurl {
url = "https://github.com/netbootxyz/netboot.xyz/releases/download/${netbootxyzVersion}/netboot.xyz.kpxe";
sha256 = "1jr8qwkkj4ccvhdw98fakj07md0nkswy2mlg1rdhcnqzhas7qbj3";
};
in
pkgs.runCommand "tftproot" { } ''
mkdir $out
# PXE for PC
ln -s ${netbootxyz_efi} $out/netboot.xyz.efi
ln -s ${netbootxyz_kpxe} $out/netboot.xyz.kpxe
# generic boot files for pis
cp -sr ${tftproots.rpi-netboot-tftproot}/* $out/
# dacbert
ln -s /var/lib/nfsroot/dacbert/boot $out/3c271952
'';
};
}