build nix-static
nix build --impure --expr '(builtins.getFlake "github:NixOS/nix").packages.x86_64-linux.nix-static.overrideAttrs (_: { postPatch = "sed -i /setrlimit/d src/libstore/build/local-derivation-goal.cc src/libutil/util.cc"; })'
# copy `result/bin/nix` to target machine
build nix with custom store path
export NIX_PREFIX="$HOME/nix"
export NIX_CONF_DIR="$HOME/.config/nix"
export NIX_STORE_DIR="$NIX_PREFIX/store"
export NIX_STATE_DIR="$NIX_PREFIX/var/nix"
export NIX_LOG_DIR="$NIX_PREFIX/var/log/nix"
nix build --experimental-features "nix-command flakes" --no-sandbox --cores 0 -j auto --impure --expr '(builtins.getFlake "github:NixOS/nixpkgs").legacyPackages.x86_64-linux.nixFlakes.override { storeDir = builtins.getEnv "NIX_STORE_DIR"; stateDir = builtins.getEnv "NIX_STATE_DIR"; confDir = builtins.getEnv "NIX_CONF_DIR"; }'