{ pkgs, ... }:
{
# Start ra-multiplex
systemd.user.services.ra-multiplex = {
Unit = {
Description = "Run the ra-multiplex server.";
};
Install = {
WantedBy = [ "default.target" ];
};
Service = {
ExecStart = "${pkgs.writeShellScript "start-ra-multiplex-server" ''
#!/run/current-system/sw/bin/bash
/etc/profiles/per-user/finchie/bin/ra-multiplex server
''}";
};
};
home.packages = with pkgs; [
(rust-bin.selectLatestNightlyWith (
toolchain:
toolchain.default.override {
extensions = [
"llvm-tools"
"miri"
"rust-src"
"rustc-codegen-cranelift"
];
targets = [
"wasm32-unknown-unknown"
"wasm32-wasip1"
"wasm32-wasip1-threads"
"wasm32-wasip2"
"x86_64-apple-darwin"
"x86_64-pc-windows-gnu"
"x86_64-unknown-linux-musl"
"x86_64-unknown-none"
];
}
))
# Analysis tools
cargo-binutils
cargo-expand
cargo-rr
cargo-show-asm
# Dependency management
cargo-audit
cargo-autoinherit
cargo-bloat
cargo-depgraph
cargo-diet
cargo-edit
cargo-shear
cargo-modules
cargo-unused-features
cargo-update
# Compilation tools
bacon
cargo-component
cargo-dist
cargo-nextest
sccache
# Compiler analysis
cargo-bisect-rustc
measureme
# Storage management
cargo-cache
# TODO: switch back when local changes are upstreamed
#cargo-sweep
# WASM
trunk
wasm-bindgen-cli
wasm-pack
];
}