nixos-config/.github/workflows/automate-dotfiles-input-update.yml

31 lines
1.2 KiB
YAML

name: "Automated flake input update for my dotfiles"
on:
schedule:
# Every day.
- cron: '30 0 * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v16
with:
nix_path: nixpkgs=channel:nixos-unstable
- name: Update flake inputs
run: |
nix shell nixpkgs#git
# This is set by the GitHub Actions bot just to make identifying which commits are automated.
git config user.name 'github-actions[bot]'
git config user.email 'github-actions[bot]@users.noreply.github.com'
nix flake lock --update-input 'dotfiles' --commit-lock-file --commit-lockfile-summary "flake.lock: update dotfiles"
- name: Build NixOS configurations that uses the dotfiles
run: nix build .#nixosConfigurations.ni.config.system.build.toplevel
- name: Push updates to remote
run: |
nix flake lock --commit-lock-file
git remote remove origin
git remote add origin https://${{ secrets.GITHUB_TOKEN }}@github.com/foo-dogsquared/nixos-config.git
git push --set-upstream origin master --tags