{ toolchain, makeRustPlatform, GARBAGE_VERSION, nix-gitignore, installShellFiles }: let rustPlatform = makeRustPlatform { inherit (toolchain) cargo rustc; }; in rustPlatform.buildRustPackage { name = "garbage"; src = nix-gitignore.gitignoreSource [ ./.gitignore ] ./.; cargoLock = { lockFile = ./Cargo.lock; }; nativeBuildInputs = [ installShellFiles ]; inherit GARBAGE_VERSION; postInstall = '' completions=$(mktemp -d) $out/bin/garbage generate-completions bash > $completions/garbage.bash $out/bin/garbage generate-completions fish > $completions/garbage.fish $out/bin/garbage generate-completions zsh > $completions/garbage.zsh installShellCompletion $completions/garbage.{bash,fish,zsh} ''; meta = { description = "CLI tool to interact with the FreeDesktop trash API."; mainProgram = "garbage"; }; }