{ bash , buildGoModule , fetchFromGitHub , withFish ? false , fish , lib , makeWrapper , xdg-utils }: buildGoModule rec { pname = "granted"; version = "0.17.1"; src = fetchFromGitHub { owner = "common-fate"; repo = pname; rev = "v${version}"; sha256 = "sha256-+XdbHCa7XtngX1v/uH0p7EbQVcZY+vT2ox9saDOKYE0="; }; vendorHash = "sha256-vHOGnflLC85hrONPPAAuuaPxNkv3t5T616nAnDEZbAY="; nativeBuildInputs = [ makeWrapper ]; ldflags = [ "-s" "-w" "-X github.com/common-fate/granted/internal/build.Version=v${version}" "-X github.com/common-fate/granted/internal/build.Commit=${src.rev}" "-X github.com/common-fate/granted/internal/build.Date=1970-01-01-00:00:01" "-X github.com/common-fate/granted/internal/build.BuiltBy=Nix" ]; subPackages = [ "cmd/granted" ]; postInstall = '' ln -s $out/bin/granted $out/bin/assumego # Install shell script install -Dm755 $src/scripts/assume $out/bin/assume substituteInPlace $out/bin/assume \ --replace /bin/bash ${bash}/bin/bash wrapProgram $out/bin/assume \ --suffix PATH : ${lib.makeBinPath [ xdg-utils ]} '' + lib.optionalString withFish '' # Install fish script install -Dm755 $src/scripts/assume.fish $out/share/assume.fish substituteInPlace $out/share/assume.fish \ --replace /bin/fish ${fish}/bin/fish ''; meta = with lib; { description = "The easiest way to access your cloud."; homepage = "https://github.com/common-fate/granted"; changelog = "https://github.com/common-fate/granted/releases/tag/${version}"; license = licenses.mit; maintainers = [ maintainers.ivankovnatsky ]; }; }