{ lib, stdenvNoCC, fetchurl, installShellFiles, }: let # Latest Dagger dev build from https://dl.dagger.io/dagger/main/head/checksums.txt # Update this commit and the hashes together when you want a newer unreleased build. commit = "49a8726ee2f5802b7ddc63c9e17720471e8d18dd"; version = "1.0.0-dev-${lib.substring 0 8 commit}"; sources = { x86_64-linux = { os = "linux"; arch = "amd64"; hash = "sha256-T+AILG+Yk9GnK6vL8Xf3FmCGk/3+kT9WuF8D/bfRLzU="; }; aarch64-linux = { os = "linux"; arch = "arm64"; hash = "sha256-Culr+9I7BFTYZ4aAPJl6HaWrbR6jfayv6B8KWH9+gfY="; }; x86_64-darwin = { os = "darwin"; arch = "amd64"; hash = "sha256-a7Hyb+4GZOiEXRUkk8xPnTFocGzQSn6Gj5xOjDwi2OI="; }; aarch64-darwin = { os = "darwin"; arch = "arm64"; hash = "sha256-fALjAszNuDV4GwLvJa0b211EioYh3ya65XRHeUJ1nH0="; }; }; source = sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"); in stdenvNoCC.mkDerivation { pname = "dagger"; inherit version; src = fetchurl { url = "https://dl.dagger.io/dagger/main/${commit}/dagger_${commit}_${source.os}_${source.arch}.tar.gz"; inherit (source) hash; }; sourceRoot = "."; nativeBuildInputs = [ installShellFiles ]; installPhase = '' runHook preInstall install -Dm755 dagger $out/bin/dagger runHook postInstall ''; postInstall = '' installShellCompletion --cmd dagger \ --bash <($out/bin/dagger completion bash) \ --zsh <($out/bin/dagger completion zsh) \ --fish <($out/bin/dagger completion fish) ''; meta = { description = "Dagger CLI dev build from main"; homepage = "https://github.com/dagger/dagger"; license = lib.licenses.asl20; mainProgram = "dagger"; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; platforms = builtins.attrNames sources; }; }