diff --git a/.gitea/workflows/abstract-machine-build.yml b/.gitea/workflows/abstract-machine-build.yml
new file mode 100644
index 0000000..01f7c6a
--- /dev/null
+++ b/.gitea/workflows/abstract-machine-build.yml
@@ -0,0 +1,12 @@
+name: Build abstract machine with nix
+on: [push]
+
+jobs:
+  build:
+    runs-on: nix
+    steps:
+    - uses: actions/checkout@v4
+    - name: Build with nix
+      run: |
+        nix build -L .#abstract-machine
+
diff --git a/flake.nix b/flake.nix
index 42dccac..3a07d79 100644
--- a/flake.nix
+++ b/flake.nix
@@ -20,10 +20,10 @@
         };
       in
       {
-        packages.nemu = pkgs.callPackage ./nemu { am-kernels = self.packages.${system}.am-kernels-cmake; };
+        packages.nemu = pkgs.callPackage ./nemu { am-kernels = self.packages.${system}.am-kernels; };
         packages.abstract-machine = crossPkgs.callPackage ./abstract-machine { isa = "riscv"; platform = "nemu"; };
 
-        packages.am-kernels-cmake = crossPkgs.stdenv.mkDerivation rec {
+        packages.am-kernels = crossPkgs.stdenv.mkDerivation rec {
           pname = "am-kernels-cmake";
           version = "2024.02.18";