···2323- [x] Build a custom NixOS installer from a flake
2424- [x] Built-in PXE server based on [Pixiecore](https://github.com/danderson/netboot/tree/main/pixiecore) to serve netboot components from the custom installer
2525- [x] Install NixOS from a flake using [nixos-anywhere](https://nix-community.github.io/nixos-anywhere)
2626-- [ ] Remote power-on with [Wake-on-LAN](https://en.wikipedia.org/wiki/Wake-on-LAN)
2626+- [x] Remote power-on with [Wake-on-LAN](https://en.wikipedia.org/wiki/Wake-on-LAN)
2727- [ ] Host status check with IP discovery
2828- [x] Stateless and ephemeral [^1]
2929- [x] Fast, under 2 minutes to install NixOS from empty hard drives [^2]
+6
cmd/nixie/main.go
···7979 }
8080 }()
81818282+ // TODO probably need a better place to put these, maybe one go routine to manage each machine
8383+ for _, host := range hostsConfig {
8484+ log.Info("sending magic packet", "mac", host.MACAddress)
8585+ network.SendWakeOnLAN(host.MACAddress)
8686+ }
8787+8288 sigCh := make(chan os.Signal, 1)
8389 signal.Notify(sigCh, syscall.SIGINT, syscall.SIGTERM)
8490