name: Update Nix Flake on: schedule: - cron: "30 0 * * *" # daily run workflow_dispatch: {} jobs: update-flake: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 with: token: "${{ gitea.token }}" fetch-depth: 0 ref: flake-updates - name: Git config shell: bash run: | git config user.name "Gitea Actions" git config user.email "actions@gitea.local" - name: Merge main branch run: | git merge --squash origin/main # solve merge conflict by taking flake.lock from main git checkout origin/main -- flake.lock git commit -m "Merge main branch squashed $(date -I)" - name: Set up Nix uses: cachix/install-nix-action@v31 - name: Update Flake run: nix flake update - name: Commit and push changes shell: bash run: | git add flake.lock if git diff --cached --quiet; then echo "No changes to commit." else git commit -m "Update flake.lock $(date -I)" git push origin flake-updates fi