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 net/netmon/netmon_linux.go
    substituteInPlace net/netmon/netmon_polling.go \
      --replace \
        "//go:build (!linux && !freebsd && !windows && !darwin) || android" \
        ""
  '';
})