diff --git a/.circleci/config.yml b/.circleci/config.yml index b8beebcf5384813dae59fd7d8c070389e4fcd23e..1ed65af97df8bf71ef3224ea850c055c7d943fb3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,8 +54,25 @@ jobs: environment: CODECOV_TOKEN: "cc6e4697-4337-4506-88af-92b8f8ca6b22" + # Specify a revision of NixOS/nixpkgs to run against. This essentially + # pins the majority of the software involved in the build. This + # revision is selected arbitrarily. It's somewhat current as of the + # time of this comment. We can bump it to a newer version when that + # makes sense. Meanwhile, the platform won't shift around beneath us + # unexpectedly. + NIXPKGS_REV: "5d5cd70516001e79516d2ade8bcf31df208a4ef3" steps: + - run: + # Get NIX_PATH set for the rest of the job so that the revision of + # nixpkgs we selected will be used everywhere Nix pulls in software. + # There is no way to set an environment variable containing the + # value of another environment variable on CircleCI except to use + # the `BASE_ENV` feature as we do here. + name: "Setup NIX_PATH Environment Variable" + command: | + echo "export NIX_PATH=nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/$NIXPKGS_REV.tar.gz" >> $BASH_ENV + - "checkout" - run: