{ darwin, installShellFiles, lib, mainProgram ? "fork-manager", pkg-config, rustPlatform, stdenv, }: rustPlatform.buildRustPackage { pname = "fork-manager"; version = "0.4.1"; src = lib.fileset.toSource { root = ./.; fileset = lib.fileset.unions [ ./Cargo.lock ./Cargo.toml ./src ./tests ]; }; cargoLock.lockFile = ./Cargo.lock; buildInputs = lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security; nativeBuildInputs = [ installShellFiles pkg-config ]; checkFlags = [ # This require network access "--skip=pr_to_change" ]; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd fork-manager \ --bash <($out/bin/${mainProgram} --generate bash) \ --fish <($out/bin/${mainProgram} --generate fish) \ --zsh <($out/bin/${mainProgram} --generate zsh) ''; meta = { inherit mainProgram; description = "Automatize your fork"; homepage = "https://github.com/nim65s/fork-manager"; changelog = "https://github.com/nim65s/fork-manager/blob/main/CHANGELOG.md"; license = with lib.licenses; [ asl20 mit ]; maintainers = with lib.maintainers; [ nim65s ]; }; }