diff --git a/.forgejo/workflows/tag.yml b/.forgejo/workflows/tag.yml
index 1cf1cb2..3ff2986 100644
--- a/.forgejo/workflows/tag.yml
+++ b/.forgejo/workflows/tag.yml
@@ -1,4 +1,4 @@
-name: Auto tag
+name: Tag and release
 
 on:
   push:
@@ -10,15 +10,40 @@ on:
 jobs:
   release:
     runs-on: ubuntu-latest
+    outputs:
+      sha256: ${{ steps.archive.outputs.sha256 }}
+      version: ${{ steps.tag.outputs.tag }}
     permissions:
       contents: write
     steps:
       - uses: actions/checkout@v4
         with:
+          submodules: true
           fetch-depth: 0
 
       - name: Bump version and push tag
+        id: tag
         uses: https://github.com/anothrNick/github-tag-action@v1.67.0
         env:
           WITH_V: false
           DEFAULT_BUMP: patch
+
+      - name: Create release archive
+        id: archive
+        run: |
+          make dist
+          echo "sha256=$(sha256sum dwm.tar.gz) >> $GITHUB_OUTPUT"
+
+  template:
+    runs-on: ubuntu-latest
+    needs: release
+    steps:
+      - uses: actions/checkout@v4
+        with:
+          fetch-depth: 0
+          repository: "https://git.snaile.de/snailed/void-packages"
+
+      - name: Replace checksum and version
+        run: |
+          sed -i 's/version=[0-9]\+\.[0-9]\+\.[0-9]\+/version=${{ needs.release.outputs.version }}/' srcpkgs/dwm-custom/template
+          sed -i 's/checksum=.\+/checksum=${{ needs.release.outputs.sha256 }}/' srcpkgs/dwm-custom/template