36 lines
938 B
Nix
36 lines
938 B
Nix
{ pkgs, rust-toolchain, self, ... }:
|
|
|
|
{
|
|
default = pkgs.mkShell {
|
|
name = "immich-tools";
|
|
buildInputs = with pkgs; [
|
|
cargo
|
|
cargo-edit
|
|
cargo-insta
|
|
cargo-machete
|
|
cargo-release
|
|
cargo-sort
|
|
git-cliff
|
|
openssl
|
|
pkg-config
|
|
rustc
|
|
rust-toolchain
|
|
] ++ lib.optionals stdenv.isDarwin [
|
|
libiconv
|
|
] ++ self.checks.${pkgs.system}.pre-commit-check.enabledPackages;
|
|
RUST_BACKTRACE = 1;
|
|
|
|
# Copy rust-toolchain to project directory for easy use in IntelliJ
|
|
shellHook = ''
|
|
if [ -L ./.rust-toolchain ] && [ "$(readlink ./.rust-toolchain)" = "${rust-toolchain}" ]; then
|
|
echo "Rust toolchain symlink is already correct."
|
|
else
|
|
rm -f ./.rust-toolchain
|
|
ln -s ${rust-toolchain} ./.rust-toolchain
|
|
echo "Rust toolchain symlink updated."
|
|
fi
|
|
|
|
${self.checks.${pkgs.system}.pre-commit-check.shellHook}
|
|
'';
|
|
};
|
|
}
|