From dc017a0cab40cb2f33a01b420bb1b04038abb875 Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Mon, 4 Oct 2021 18:27:57 +0200 Subject: Build Garage with Nix --- shell.nix | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 shell.nix (limited to 'shell.nix') diff --git a/shell.nix b/shell.nix new file mode 100644 index 00000000..f407ed95 --- /dev/null +++ b/shell.nix @@ -0,0 +1,69 @@ +{ + system ? builtins.currentSystem, + crossSystem ? null, + rust ? true, + integration ? true, + release ? true, +}: + +with import ./nix/common.nix; + +let + pkgs = import pkgsSrc { + inherit system crossSystem; + overlays = [ cargo2nixOverlay rustOverlay ]; + }; + rustDist = pkgs.buildPackages.rust-bin.stable.latest.default; + kaniko = (import ./nix/kaniko.nix) pkgs; + +in + +pkgs.mkShell { + shellHook = '' +function to_s3 { + aws \ + --endpoint-url https://garage.deuxfleurs.fr \ + --region garage \ + s3 cp \ + ./result/bin/garage \ + s3://garagehq.deuxfleurs.fr/_releases/''${DRONE_TAG:-$DRONE_COMMIT}/''${TARGET}/garage +} + +function to_docker { + executor \ + --force \ + --customPlatform="''${DOCKER_PLATFORM}" \ + --destination "''${CONTAINER_NAME}:''${CONTAINER_TAG}" \ + --context dir://`pwd` \ + --verbosity=debug +} + +function refresh_index { + aws \ + --endpoint-url https://garage.deuxfleurs.fr \ + --region garage \ + s3 ls \ + --recursive \ + s3://garagehq.deuxfleurs.fr/_releases/ \ + > aws-list.txt + + nix-build nix/build_index.nix + + aws \ + --endpoint-url https://garage.deuxfleurs.fr \ + --region garage \ + s3 cp \ + --content-type "text/html" \ + result \ + s3://garagehq.deuxfleurs.fr/_releases.html +} + ''; + + nativeBuildInputs = + (if rust then [ rustDist (pkgs.callPackage cargo2nix {}).package ] else []) + ++ + (if integration then [ pkgs.s3cmd pkgs.awscli2 pkgs.minio-client pkgs.rclone pkgs.socat pkgs.psmisc pkgs.which ] else []) + ++ + (if release then [ pkgs.awscli2 kaniko ] else []) + ; +} -- cgit v1.2.3