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