diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1813c8c8..911feeab 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,34 +9,32 @@ variables: before_script: - | - if command -v nix > /dev/null; then - # Enable nix-command and flakes - echo "experimental-features = nix-command flakes" >> /etc/nix/nix.conf + # Enable nix-command and flakes + echo "experimental-features = nix-command flakes" >> /etc/nix/nix.conf - # Disable IFD, to ensure we are able to build without it - echo "allow-import-from-derivation = false" >> /etc/nix/nix.conf + # Disable IFD, to ensure we are able to build without it + echo "allow-import-from-derivation = false" >> /etc/nix/nix.conf - # Add crane binary cache - echo "extra-substituters = https://crane.cachix.org" >> /etc/nix/nix.conf - echo "extra-trusted-public-keys = crane.cachix.org-1:8Scfpmn9w+hGdXH/Q9tTLiYAE/2dnJYRJP7kl80GuRk=" >> /etc/nix/nix.conf + # Add crane binary cache + echo "extra-substituters = https://crane.cachix.org" >> /etc/nix/nix.conf + echo "extra-trusted-public-keys = crane.cachix.org-1:8Scfpmn9w+hGdXH/Q9tTLiYAE/2dnJYRJP7kl80GuRk=" >> /etc/nix/nix.conf - # Add nix-community binary cache - echo "extra-substituters = https://nix-community.cachix.org" >> /etc/nix/nix.conf - echo "extra-trusted-public-keys = nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" >> /etc/nix/nix.conf + # Add nix-community binary cache + echo "extra-substituters = https://nix-community.cachix.org" >> /etc/nix/nix.conf + echo "extra-trusted-public-keys = nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" >> /etc/nix/nix.conf - # Add our own binary cache - if [ -n "$ATTIC_ENDPOINT" ] && [ -n "$ATTIC_CACHE" ] && [ -n "$ATTIC_PUBLIC_KEY" ]; then - echo "extra-substituters = $ATTIC_ENDPOINT/$ATTIC_CACHE" >> /etc/nix/nix.conf - echo "extra-trusted-public-keys = $ATTIC_PUBLIC_KEY" >> /etc/nix/nix.conf - fi - - # Install direnv - nix profile install --impure --inputs-from . nixpkgs#direnv - - # Allow .envrc - direnv allow + # Add our own binary cache + if [ -n "$ATTIC_ENDPOINT" ] && [ -n "$ATTIC_CACHE" ] && [ -n "$ATTIC_PUBLIC_KEY" ]; then + echo "extra-substituters = $ATTIC_ENDPOINT/$ATTIC_CACHE" >> /etc/nix/nix.conf + echo "extra-trusted-public-keys = $ATTIC_PUBLIC_KEY" >> /etc/nix/nix.conf fi + # Install direnv + nix profile install --impure --inputs-from . nixpkgs#direnv + + # Allow .envrc + direnv allow + # Set CARGO_HOME to a cacheable path export CARGO_HOME="$(git rev-parse --show-toplevel)/.gitlab-ci.d/cargo"