From a59f6e1779248890b0cc9e6ee5490807ce26540a Mon Sep 17 00:00:00 2001 From: Mark Sagi-Kazar Date: Fri, 27 Oct 2023 20:46:25 +0200 Subject: [PATCH 1/2] add dagger package Signed-off-by: Mark Sagi-Kazar --- default.nix | 2 ++ pkgs/dagger/default.nix | 62 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 pkgs/dagger/default.nix diff --git a/default.nix b/default.nix index 4b081e6..212b8e7 100644 --- a/default.nix +++ b/default.nix @@ -13,4 +13,6 @@ lib = import ./lib { inherit pkgs; }; # functions modules = import ./modules; # NixOS modules overlays = import ./overlays; # nixpkgs overlays + + dagger = pkgs.callPackage ./pkgs/dagger { }; } diff --git a/pkgs/dagger/default.nix b/pkgs/dagger/default.nix new file mode 100644 index 0000000..daae3ae --- /dev/null +++ b/pkgs/dagger/default.nix @@ -0,0 +1,62 @@ +# This file was generated by GoReleaser. DO NOT EDIT. +# vim: set ft=nix ts=2 sw=2 sts=2 et sta +{ system ? builtins.currentSystem +, pkgs +, lib +, fetchurl +, installShellFiles +}: +let + shaMap = { + x86_64-linux = "sha256-eDRJko8SRX2mba2RwJt2dxF4i3OW5YFLfFoXenSdQrU="; + aarch64-linux = "sha256-slUkiu7gv/6tp613yee2ess2+SPlbIcaCQwfzIvUk5E="; + x86_64-darwin = "sha256-VP1G70aoXcLeXjyAy/t5MOet9LpORIHiwu1t0Q/7f0g="; + aarch64-darwin = "sha256-2zlxEVrY0uRmtq80/xCWEEFyCSngSNSNqrjQEb8cZmY="; + }; + + urlMap = { + x86_64-linux = "https://dl.dagger.io/dagger/releases/0.9.1/dagger_v0.9.1_linux_amd64.tar.gz"; + aarch64-linux = "https://dl.dagger.io/dagger/releases/0.9.1/dagger_v0.9.1_linux_arm64.tar.gz"; + x86_64-darwin = "https://dl.dagger.io/dagger/releases/0.9.1/dagger_v0.9.1_darwin_amd64.tar.gz"; + aarch64-darwin = "https://dl.dagger.io/dagger/releases/0.9.1/dagger_v0.9.1_darwin_arm64.tar.gz"; + }; +in +pkgs.stdenv.mkDerivation { + pname = "dagger"; + version = "0.9.1"; + src = fetchurl { + url = urlMap.${system}; + sha256 = shaMap.${system}; + }; + + sourceRoot = "."; + + nativeBuildInputs = [ installShellFiles ]; + + installPhase = '' + mkdir -p $out/bin + cp dagger $out/bin/ + ''; + + postInstall = '' + installShellCompletion --cmd dagger \ + --bash <($out/bin/dagger completion bash) \ + --fish <($out/bin/dagger completion fish) \ + --zsh <($out/bin/dagger completion zsh) + ''; + + system = system; + + meta = { + description = "A programmable CI/CD engine that runs your pipelines in containers"; + homepage = "https://dagger.io"; + license = lib.licenses.asl20; + + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + }; +} From 1dc6577e31df3a39ca6cf8457885e3347f616e67 Mon Sep 17 00:00:00 2001 From: Mark Sagi-Kazar Date: Fri, 27 Oct 2023 20:49:50 +0200 Subject: [PATCH 2/2] add usage example to readme Signed-off-by: Mark Sagi-Kazar --- README.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/README.md b/README.md index c23e746..ed337ef 100644 --- a/README.md +++ b/README.md @@ -4,3 +4,28 @@ ![Build and populate cache](https://github.com/dagger/nix/workflows/Build%20and%20populate%20cache/badge.svg) + +## Usage + +### As flake + +```nix +{ + inputs = { + nixpkgs.url = "nixpkgs/nixos-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + dagger.url = "github:dagger/nix"; + dagger.inputs.nixpkgs.follows = "nixpkgs"; + }; + + outputs = { self, nixpkgs, flake-utils, dagger, ... }: + flake-utils.lib.eachDefaultSystem (system: + let + pkgs = nixpkgs.legacyPackages.${system}; + in { + devShell = pkgs.mkShell { + buildInputs = [ dagger.packages.dagger ]; + }; + }); +} +```