Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
aaf7a9387This file is pinned to the selected release. Download the original to open it in your design tool.
name: Install Nix
description: Installs Nix or a Nix-compatible flake fork, while also enabling
the requisite caches.
inputs:
shell:
description: "Shell to use for glue logic"
required: true
default: "bash"
github_token:
description: "A token for the Nix daemon to use when fetching information from GitHub"
required: false
default: ""
nix_cache_domain:
description: "An additional https-hosted Nix build cache"
required: false
default: ""
nix_public_key:
description: "The public key for the aforementioned Nix cache if specified"
required: false
default: ""
runs:
using: "composite"
steps:
- name: Set GitHub Token Config String
if: inputs.github_token != ''
shell: ${{ inputs.shell }}
run: |
echo "GITHUB_ACCESS_TOKEN_STR=${{ inputs.github_token }}" >> $GITHUB_ENV
- name: Set Nix Cache Config Strings
if: inputs.nix_cache_domain != '' && inputs.nix_public_key != ''
shell: ${{ inputs.shell }}
run: |
echo "EXTRA_SUBSTITUTER_STR=https://${{ inputs.nix_cache_domain }}" >> $GITHUB_ENV
echo "EXTRA_TRUSTED_KEY_STR=${{ inputs.nix_public_key }}" >> $GITHUB_ENV
- uses: DeterminateSystems/nix-installer-action@main
with:
determinate: false
extra-conf: |
access-tokens = ${{ env.GITHUB_ACCESS_TOKEN_STR }}
extra-substituters = ${{ env.EXTRA_SUBSTITUTER_STR }} https://nix-cache.fossi-foundation.org
extra-trusted-public-keys = ${{ env.EXTRA_TRUSTED_KEY_STR }} nix-cache.fossi-foundation.org:3+K59iFwXqKsL7BNu6Guy0v+uTlwsxYQxjspXzqLYQs=
- name: Inject GitHub Token into Environment
if: inputs.github_token != ''
uses: fossi-foundation/nix-eda/.github/actions/nix_daemon_inject_github_token@5.5.0
with:
github_token: ${{ inputs.github_token }}