tailscale:

tailscale.overrideAttrs (old: {
  postPatch = ''
    ${old.postPatch or ""}

    # Always use the polling monitor on routers.  The netlink-based monitor is
    # effectively just a wakeup-every-250ms system which causes ridiculously
    # high CPU.
    rm wgengine/monitor/monitor_linux.go
    substituteInPlace wgengine/monitor/monitor_polling.go \
      --replace \
        "//go:build (!linux && !freebsd && !windows && !darwin) || android" \
        ""
  '';
})