diff --git a/build-aux/com.fossgalaxy.fggl.demo.yml b/build-aux/com.fossgalaxy.fggl.demo.yml
index 56af3ba4990881f80cce944d0cd862773ee836cb..8643cd4ce147d953754bf01430bf2c9bf3452b96 100644
--- a/build-aux/com.fossgalaxy.fggl.demo.yml
+++ b/build-aux/com.fossgalaxy.fggl.demo.yml
@@ -9,18 +9,7 @@ finish-args:
   - "--socket=fallback-x11"
   - "--socket=wayland"
 modules:
-  - name: glfw
-    buildsystem: cmake-ninja
-    builddir: true
-    sources:
-      - type: archive
-        url: https://github.com/glfw/glfw/releases/download/3.3.4/glfw-3.3.4.zip
-        sha256: bbd2c42c660b725e9755eb417e40b373f0d4c03138c9b2e210d02cd308bd99cd
-    cleanup:
-      - /include
-      - /lib/cmake
-      - /lib/pkgconfig
-      - '*.a'
+  - modules/glfw.yml
   - modules/glm-0.9.9.8.json
   - modules/fmt.yml
   - modules/spdlog.json
diff --git a/build-aux/modules/glfw.yml b/build-aux/modules/glfw.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e892050c6bcd98d7a246767a7685385cf1d73a0f
--- /dev/null
+++ b/build-aux/modules/glfw.yml
@@ -0,0 +1,12 @@
+name: glfw
+buildsystem: cmake-ninja
+builddir: true
+sources:
+  - type: archive
+    url: https://github.com/glfw/glfw/releases/download/3.3.4/glfw-3.3.4.zip
+    sha256: bbd2c42c660b725e9755eb417e40b373f0d4c03138c9b2e210d02cd308bd99cd
+cleanup:
+  - /include
+  - /lib/cmake
+  - /lib/pkgconfig
+  - '*.a'