name: Update_Flake

run-name: "[Update Flake] ${{ inputs.input_to_update }}"

on:
  workflow_dispatch:
    inputs:
      input_to_update:
        description: 'Flake input to update'
        required: false
        type: string

jobs:
  update:
    runs-on: nix

    permissions:
      # Give the default GITHUB_TOKEN write permission to commit and push the
      # added or changed files to the repository.
      contents: write

    steps:
      - uses: actions/checkout@v4
        with:
          ref: ${{ github.head_ref }}
          token: ${{ secrets.PIPELINE_TOKEN }}
      - run: nix flake update ${{ inputs.input_to_update }}
        shell: bash
      - uses: https://github.com/stefanzweifel/git-auto-commit-action@v5
        with:
          commit_message: "Updated flake for ${{ inputs.input_to_update }}"