diff --git a/template/dogfood/modules/dogfood.nix b/template/dogfood/modules/dogfood.nix
index 996324b..7febe02 100644
--- a/template/dogfood/modules/dogfood.nix
+++ b/template/dogfood/modules/dogfood.nix
@@ -1,32 +1,23 @@
-{flake-parts-lib, lib, inputs, ...}: {
+{flake-parts-lib, lib, inputs, ...}@topLevel: {
   imports = [
     ./hello.nix
     inputs.flake-parts.flakeModules.flakeModules
   ];
-  config.systems = [ "x86_64-linux" "aarch64-darwin" ];
-  options.flake = lib.mkOption {
-    type = lib.types.submoduleWith {
-      modules = [
-        (flake: {
-          flakeModules.dogfood = {
-            config.systems = [ "x86_64-linux" "aarch64-darwin" ];
-            imports = [
-              flake.config.flakeModules.hello
+  flake.flakeModules.dogfood = {
+    config.systems = [ "x86_64-linux" "aarch64-darwin" ];
+    imports = [
+      topLevel.config.flake.flakeModules.hello
 
-              # Expose flake modules
-              ./dogfood.nix
-              ./hello.nix
-              ./anotherFlakeModule.nix
-            ];
-            options.perSystem = flake-parts-lib.mkPerSystemOption (perSystem: {
-              apps.default = {
-                type = "app";
-                program = "${perSystem.config.packages.hello_22_11}/bin/hello";
-              };
-            });
-          };
-        })
-      ];
-    };
+      # Expose flake modules
+      ./dogfood.nix
+      ./hello.nix
+      ./anotherFlakeModule.nix
+    ];
+    options.perSystem = flake-parts-lib.mkPerSystemOption (perSystem: {
+      apps.default = {
+        type = "app";
+        program = "${perSystem.config.packages.hello_22_11}/bin/hello";
+      };
+    });
   };
-}
\ No newline at end of file
+}