on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: checkout repo uses: actions/checkout@v6 - name: install necessary packages run: | set -e apt update apt install rsync -y - name: add ssh key uses: actions/ssh-setup@v1 with: ssh-key: ${{ secrets.ACTIONS_SSH_KEY }} add-hosts: "toufy.me" - name: copy repo to target run: rsync -az . root@toufy.me:/etc/nixos - name: nixos-rebuild dry-activate run: | set -e ssh root@toufy.me -C "nixos-rebuild dry-activate --flake /etc/nixos --impure --upgrade" [ "$?" == 0 ] || exit 1 - name: nixos-rebuild switch run: | set -e ssh root@toufy.me -C "nixos-rebuild switch --flake /etc/nixos --impure --upgrade" [ "$?" == 0 ] || exit 1 - name: garbage-collection run: | set -e ssh root@toufy.me -C "nix-collect-garbage -d" [ "$?" == 0 ] || exit 1