name: Nix

on:
  workflow_call:
    inputs:
      command:
        required: true
        type: string
    secrets:
      CACHIX_AUTH_TOKEN:
        required: false

jobs:
  nix:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install Lix
        uses: DeterminateSystems/nix-installer-action@main
        with:
          source-url: https://install.lix.systems/lix/lix-installer-x86_64-linux
          logger: pretty
      - uses: cachix/cachix-action@v15
        with:
          name: nyx
          authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
      - run: ${{ inputs.command }}