diff options
Diffstat (limited to 'users/aspen/system/home/modules/development/rust.nix')
-rw-r--r-- | users/aspen/system/home/modules/development/rust.nix | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/users/aspen/system/home/modules/development/rust.nix b/users/aspen/system/home/modules/development/rust.nix new file mode 100644 index 000000000000..c4b20f231546 --- /dev/null +++ b/users/aspen/system/home/modules/development/rust.nix @@ -0,0 +1,49 @@ +{ config, lib, pkgs, ... }: + +let + inherit (config.lib) depot; +in + +with lib; + +{ + + home.packages = with pkgs; [ + rustup + cargo-edit + cargo-expand + cargo-udeps + cargo-bloat + sccache + evcxr + + depot.users.aspen.pkgs.cargo-hakari + depot.users.aspen.pkgs.cargo-nextest + + # benchmarking+profiling + cargo-criterion + cargo-flamegraph + coz + inferno + hotspot + ] ++ optionals (stdenv.isLinux) [ + cargo-rr + ]; + + programs.zsh.shellAliases = { + "cg" = "cargo"; + "cb" = "cargo build"; + "ct" = "cargo test"; + "ctw" = "fd -e rs | entr cargo test"; + "cch" = "cargo check"; + }; + + home.file.".cargo/config".text = '' + [build] + rustc-wrapper = "${pkgs.sccache}/bin/sccache" + + [target.x86_64-unknown-linux-gnu] + linker = "clang" + rustflags = ["-C", "link-arg=-fuse-ld=${pkgs.mold}/bin/mold"] + ''; +} |