name: Setup Nix description: Installs nix, sets up cachix and installs a subset of tooling. inputs: authToken: description: Token to pass to cachix tools: description: Tools to install with nix-env -iA cache-id: description: Cache id to use for cache-nix-action default: "default" runs: using: composite steps: - uses: nixbuild/nix-quick-install-action@v26 with: nix_version: '2.13.6' - name: Restore and cache Nix store uses: nix-community/cache-nix-action@v4.0.3 with: key: cache-nix-${{ runner.os }}-id-${{ inputs.cache-id }}-${{ hashFiles('nix/**/*.nix') }} restore-keys: | cache-nix-${{ runner.os }}-common- restore-key-hit: true - uses: cachix/cachix-action@v12 with: name: postgrest authToken: ${{ inputs.authToken }} - if: ${{ inputs.tools }} run: nix-env -f default.nix -iA ${{ inputs.tools }} shell: bash