refactor(hm/price): improve rust performance
Some checks failed
Check Formatting of Files / Check-Formatting (push) Failing after 43s

This commit is contained in:
Price Hiller 2024-12-13 22:42:15 -06:00
parent eecf89d736
commit 31cc10fe03
Signed by: Price
GPG Key ID: C3FADDE7A8534BEB

View File

@ -9,6 +9,11 @@
CARGO_HOME = "${config.xdg.dataHome}/cargo"; CARGO_HOME = "${config.xdg.dataHome}/cargo";
RUSTUP_HOME = "${config.xdg.dataHome}/rustup"; RUSTUP_HOME = "${config.xdg.dataHome}/rustup";
RUST_SRC_PATH = "${pkgs.fenix.complete.rust-src}/lib/rustlib/src/rust/library"; RUST_SRC_PATH = "${pkgs.fenix.complete.rust-src}/lib/rustlib/src/rust/library";
# HACK: Specify openssl info for rust, this is really not a good idea, but it saves me from
# writing per-project shell.nix or `nix-shell -p` nonsense. I'm willing to compromise for my
# laziness.
OPENSSL_DIR = "${pkgs.openssl.dev}";
OPENSSL_LIB_DIR = "${pkgs.openssl.out}/lib";
}; };
packages = with pkgs; [ packages = with pkgs; [
(pkgs.fenix.complete.withComponents [ (pkgs.fenix.complete.withComponents [
@ -21,7 +26,17 @@
rust-analyzer-nightly rust-analyzer-nightly
cargo-watch cargo-watch
cargo-nextest cargo-nextest
sccache
]; ];
file = {
# NOTE: This improves the rust edit-build-run cycle. See https://davidlattimore.github.io/posts/2024/02/04/speeding-up-the-rust-edit-build-run-cycle.html
"${config.home.sessionVariables.CARGO_HOME}/config.toml".text = ''
[build]
rustflags = [ "-C", "linker=${pkgs.clang}/bin/clang", "-C", "link-arg=--ld-path=${pkgs.mold-wrapped}/bin/mold" ]
[profile.dev]
split-debuginfo = "unpacked"
'';
};
}; };
} }