diff options
Diffstat (limited to 'shell.nix')
-rw-r--r-- | shell.nix | 69 |
1 files changed, 69 insertions, 0 deletions
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 []) + ; +} |