Beware that if you’re linking with glibc, it will still try to dlopen() some stuff at runtime (IIRC nsswitch libraries). If you want true static linking, you’ll want to use musl.
https://git.sr.ht/~jack/curl-nix-sample is a demonstration I put together for someone. To cross-compile and statically link, I’d try pkgsCross.aarch64-multiplatform-musl.pkgsStatic.
I just got nix-copy-closure working for the first time, perhaps I’ll try this next.
Is it possible to cross-compile and package for windows on a linux machine?