diff options
author | Quentin Dufour <quentin@deuxfleurs.fr> | 2021-10-04 18:27:57 +0200 |
---|---|---|
committer | Quentin Dufour <quentin@deuxfleurs.fr> | 2021-10-19 16:56:07 +0200 |
commit | dc017a0cab40cb2f33a01b420bb1b04038abb875 (patch) | |
tree | 239b6a9245b842a4daaceead93b71d8ddbeab498 /shell.nix | |
parent | 1acf7e4c66aab0a0b5bcce8eb2965b35d587dd2a (diff) | |
download | garage-dc017a0cab40cb2f33a01b420bb1b04038abb875.tar.gz garage-dc017a0cab40cb2f33a01b420bb1b04038abb875.zip |
Build Garage with Nixfeature/static
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 []) + ; +} |