{ 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} ''; }; }