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