From e2d40895457a5be080eab42ee31ff2381ae36b07 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Thu, 9 Jan 2025 14:08:35 -0500 Subject: [PATCH] Adding ~/.cargo/config.toml local dev instructions. (#341) * Adding ~/.cargo/config.toml local dev instructions. * Use mold and sccache config. * Use then instead of and * Update src/contributors/02-local-development.md Co-authored-by: Nutomic --------- Co-authored-by: Nutomic --- src/contributors/02-local-development.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/contributors/02-local-development.md b/src/contributors/02-local-development.md index 3d31488..955a87d 100644 --- a/src/contributors/02-local-development.md +++ b/src/contributors/02-local-development.md @@ -90,6 +90,17 @@ Use `cargo check` to find compilation errors. To start the Lemmy backend, run `c After making changes, you need to format the code with `cargo +nightly fmt --all` and run the linter with `./scripts/lint.sh`. +If you'd like to speed up compilation times, you can install [mold](https://github.com/rui314/mold), and [sccache](https://github.com/mozilla/sccache), then add the following to `~/.cargo/config.toml`. Note that the parameter `-Zthreads=x` only works on nightly Rust. + +```toml +[build] +rustc-wrapper = "/usr/bin/sccache" + +[target.x86_64-unknown-linux-gnu] +linker = "clang" +rustflags = ["-C", "link-arg=-fuse-ld=/usr/bin/mold", "-Z", "threads=16"] +``` + ### Frontend development Install dependencies by running `pnpm i`. Then run `pnpm dev` to launch lemmy-ui locally. It automatically connects to the Lemmy backend on `localhost:8536`. Open [localhost:1234](http://localhost:1234) in your browser. The project is rebuilt automatically when you change any files.