diff --git a/.gitea/workflows/check.yml b/.gitea/workflows/check.yml
new file mode 100644
index 0000000..a2380a6
--- /dev/null
+++ b/.gitea/workflows/check.yml
@@ -0,0 +1,26 @@
+name: check
+
+on:
+  - push
+  - pull_request
+
+jobs:
+  tests:
+    name: nix-flake-check
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout
+        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+
+      - name: Install Nix
+        uses: cachix/install-nix-action@08dcb3a5e62fa31e2da3d490afc4176ef55ecd72 # v30
+        with:
+          # explicitly enable sandbox
+          install_options: --daemon
+          extra_nix_config: |
+            sandbox = true
+            system-features = nixos-test benchmark big-parallel kvm
+          enable_kvm: true
+
+      - name: Run tests
+        run: nix --print-build-logs --experimental-features 'nix-command flakes' flake check --all-systems
\ No newline at end of file
diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml
index f74decf..4f523db 100644
--- a/.gitea/workflows/test.yml
+++ b/.gitea/workflows/test.yml
@@ -6,6 +6,7 @@ on:
 
 jobs:
   test:
+    name: "Go tests"
     runs-on: ubuntu-latest
     container:
       image: node:16-bookworm-slim