mirror of
https://gitlab.computer.surgery/matrix/grapevine.git
synced 2025-12-16 23:31:24 +01:00
53 lines
1.1 KiB
Nix
53 lines
1.1 KiB
Nix
# Keep sorted
|
|
{ cargo-insta
|
|
, default
|
|
, engage
|
|
, inputs
|
|
, jq
|
|
, lychee
|
|
, markdownlint-cli
|
|
, mdbook
|
|
, mkShell
|
|
, ripgrep
|
|
, stdenv
|
|
, toolchain
|
|
}:
|
|
|
|
mkShell {
|
|
env = default.env // {
|
|
# Rust Analyzer needs to be able to find the path to default crate
|
|
# sources, and it can read this environment variable to do so. The
|
|
# `rust-src` component is required in order for this to work.
|
|
RUST_SRC_PATH = "${toolchain}/lib/rustlib/src/rust/library";
|
|
};
|
|
|
|
# Development tools
|
|
nativeBuildInputs = [
|
|
# Always use nightly rustfmt because most of its options are unstable
|
|
#
|
|
# This needs to come before `toolchain` in this list, otherwise
|
|
# `$PATH` will have stable rustfmt instead.
|
|
inputs.fenix.packages.${stdenv.buildPlatform.system}.latest.rustfmt
|
|
|
|
# Keep sorted
|
|
cargo-insta
|
|
engage
|
|
jq
|
|
lychee
|
|
markdownlint-cli
|
|
mdbook
|
|
ripgrep
|
|
toolchain
|
|
]
|
|
++
|
|
default.nativeBuildInputs
|
|
++
|
|
default.propagatedBuildInputs
|
|
++
|
|
default.buildInputs;
|
|
|
|
shellHook = ''
|
|
# Workaround for <https://github.com/NixOS/nix/issues/8355>
|
|
unset TMPDIR
|
|
'';
|
|
}
|