{ lib , rustPlatform , fetchFromGitHub , installShellFiles , stdenv , darwin }: rustPlatform.buildRustPackage rec { pname = "sagoin"; version = "0.2.3"; src = fetchFromGitHub { owner = "figsoda"; repo = pname; rev = "v${version}"; hash = "sha256-/WNUDlJxxUGAtykX44A9EqMdBNwVKsGkPnq9pATmLEQ="; }; cargoHash = "sha256-YGQZR5n71srD/8QrBUOoEe72nPm0cwgk5zrzoXy2Hx0="; nativeBuildInputs = [ installShellFiles ]; buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.CoreServices ]; postInstall = '' installManPage artifacts/sagoin.1 installShellCompletion artifacts/sagoin.{bash,fish} --zsh artifacts/_sagoin ''; GEN_ARTIFACTS = "artifacts"; meta = with lib; { description = "Command-line submission tool for the UMD CS Submit Server"; homepage = "https://github.com/figsoda/sagoin"; changelog = "https://github.com/figsoda/sagoin/blob/v${version}/CHANGELOG.md"; license = licenses.agpl3Plus; maintainers = with maintainers; [ figsoda ]; mainProgram = "sagoin"; }; }