Misc nix/build process fixes
Most of these changes are cherry picked from conduwuit here and here. The most significant changes are fixing dynamically-linked jemalloc builds, and adding an all-features nix devshell that we use for --all-features
cargo invocations. In our case, the effect of the duplicated jemalloc builds is less significant because we don't have jemalloc enabled by default, and aren't actually running any jemalloc builds in CI. I expect the main effect of the jemalloc and all-features fixes will be slightly faster CI runs because we won't be building jemalloc in the lints::cargo-clippy/all
task.
Other changes:
- You can specify which devshell to use by settings
DIRENV_DEVSHELL
environment variable. This can be set in the.env
file. - If you have nix-output-monitor installed, you'll get nicer output when evaluating the devshell.