{ lib, buildGoModule, fetchFromGitHub, fetchzip }: buildGoModule rec { pname = "mutagen"; version = "0.11.8"; src = fetchFromGitHub { owner = "mutagen-io"; repo = pname; rev = "v${version}"; sha256 = "17ycd2y7hgwa2yxbin86i6aj67x7xaajwz3mqgdyfvkja5hgbjyr"; }; vendorSha256 = "0szs9yc49fyh55ra1wf8zj76kdah0x49d45cgivk3gqh2hl17j6l"; agents = fetchzip { name = "mutagen-agents-${version}"; # The package architecture does not matter since all packages contain identical mutagen-agents.tar.gz. url = "https://github.com/mutagen-io/mutagen/releases/download/v${version}/mutagen_linux_amd64_v${version}.tar.gz"; stripRoot = false; extraPostFetch = '' rm $out/mutagen # Keep only mutagen-agents.tar.gz. ''; sha256 = "0k8iif09kvxfxx6qm5qmkf3lr7ar6i98ivkndimj680ah9v1hkj8"; }; doCheck = false; subPackages = [ "cmd/mutagen" "cmd/mutagen-agent" ]; postInstall = '' install -d $out/libexec ln -s ${agents}/mutagen-agents.tar.gz $out/libexec/ ''; meta = with lib; { description = "Make remote development work with your local tools"; homepage = "https://mutagen.io/"; changelog = "https://github.com/mutagen-io/mutagen/releases/tag/v${version}"; maintainers = [ maintainers.marsam ]; license = licenses.mit; }; }