Automate the process of updating Nix Flake inputs using Thaw.
Add this action as a step in your workflow:
name: 'Update Flake Inputs'
on:
# If you want to run this workflow manually.
workflow_dispatch:
# If you want this workflow to run on a regular schedule.
schedule:
- cron: '0 0 * * 0'
jobs:
upgrade:
runs-on: ubuntu-latest
steps:
# Checkout your repository.
- uses: actions/checkout@v4
# Make sure that you have Nix installed.
- uses: DeterminateSystems/nix-installer-action@main
# Run Thaw.
- uses: snowfallorg/thaw-action@main
Additional configuration can be passed to the action using with
.
All configuration is optional.
name: 'Update Flake Inputs'
on:
# If you want to run this workflow manually.
workflow_dispatch:
# If you want this workflow to run on a regular schedule.
schedule:
- cron: '0 0 * * 0'
jobs:
upgrade:
runs-on: ubuntu-latest
steps:
# Checkout your repository.
- uses: actions/checkout@v4
# Make sure that you have Nix installed.
- uses: DeterminateSystems/nix-installer-action@main
# Run Thaw.
- uses: snowfallorg/thaw-action@main
with:
# Specify which inputs to attempt to update. By default all inputs will be checked
# for available updates.
inputs: 'my-input my-other-input'
# Use a specific github token that has repo access. Defaults to `GITHUB_TOKEN`.
token: ${{ secrets.MY_SPECIAL_GITHUB_TOKEN }}
# The path to the directory containing the `flake.nix` file.
flake-path: 'my/sub/directory'
# Use a custom version of Thaw.
thaw-uri: 'github:snowfallorg/thaw?ref=v1.0.0'
# Add options for the Nix command.
nix-options: '--extra-experimental-features flakes --my-other-option'
# Specify a custom branch to push changes to. Defaults to `gh-thaw-action`.
branch: 'my-custom-branch'