diff --git a/lib/modules/users.nix b/lib/modules/users.nix
index 13cc293f..439e01da 100644
--- a/lib/modules/users.nix
+++ b/lib/modules/users.nix
@@ -8,22 +8,6 @@
     cfg = config.valhalla;
     capitalize = (import ../text.nix { inherit lib; }).capitalize;
 
-    linuxOptions = {
-      defaultShell = mkOption {
-        type = types.nullOr types.str;
-        description = "The default shell of the user.";
-        default = null;
-      };
-
-      rclone = {
-        configurations = mkOption {
-          type = types.attrsOf syncType;
-          description = "The configurations of the rclone mounts.";
-          default = {};
-        };
-      };
-    };
-
     syncType = types.submodule (
       { ... }: {
         options = {
@@ -39,73 +23,76 @@
           };
         };
       });
-
-    mkUserType = { options }: (
-      types.submodule (
-        { ... }: {
-          options = {
-            displayName = mkOption {
-              type = types.nullOr types.str;
-              description = "The human-readable name of the user.";
-              default = null;
-            };
-
-            mailAddress = mkOption {
-              type = types.nullOr types.str;
-              description = "The mail address of the user.";
-              default = null;
-            };
-
-            groups = mkOption {
-              type = types.listOf types.str;
-              description = "The additional groups of the user.";
-              default = [];
-            };
-
-            git = (import ./git/options.nix) { inherit lib; };
-          } // options;
-        }));
-
-    userType = mkUserType {
-      options = linuxOptions;
-    };
-
-    winUserType = mkUserType {
-      options = {
-        microsoftAccount = mkOption {
-          type = types.bool;
-          description = "A value indicating whether this user is a Microsoft Account.";
-          default = false;
-        };
-      };
-    };
   in {
     options = {
       valhalla = {
         users = mkOption {
-          type = types.attrsOf userType;
+          type = types.attrsOf (types.submodule (
+            { ... }: {
+              options = {
+                displayName = mkOption {
+                  type = types.nullOr types.str;
+                  description = "The human-readable name of the user.";
+                  default = null;
+                };
+
+                mailAddress = mkOption {
+                  type = types.nullOr types.str;
+                  description = "The mail address of the user.";
+                  default = null;
+                };
+
+                groups = mkOption {
+                  type = types.listOf types.str;
+                  description = "The additional groups of the user.";
+                  default = [];
+                };
+
+                git = (import ./git/options.nix) { inherit lib; };
+              };
+            }));
           description = "The users to create on the machine.";
           default = {};
         };
 
+        linux.users = mkOption {
+          type = types.attrsOf (types.submodule {
+            options = {
+              defaultShell = mkOption {
+                type = types.nullOr types.str;
+                description = "The default shell of the user.";
+                default = null;
+              };
+
+              rclone = {
+                configurations = mkOption {
+                  type = types.attrsOf syncType;
+                  description = "The configurations of the rclone mounts.";
+                  default = {};
+                };
+              };
+            };
+          });
+        };
+
         windows.users = mkOption {
-          type = types.attrsOf winUserType;
-          description = "The users to create on the Windows machine.";
+          type = types.attrsOf (types.submodule {
+            options = {
+              microsoftAccount = mkOption {
+                type = types.bool;
+                description = "A value indicating whether this user is a Microsoft Account.";
+                default = false;
+              };
+            };
+          });
         };
       };
     };
 
     config = {
-      valhalla.windows.users = (lib.attrsets.concatMapAttrs (
+      valhalla.windows.users = lib.mkForce (lib.attrsets.concatMapAttrs (
         name: options: {
-            ${capitalize name} = (lib.attrsets.concatMapAttrs (
-              name: value:
-                if builtins.elem name (builtins.attrNames linuxOptions)
-                then {}
-                else {
-                  ${name} = value;
-                }
-            ) options) // {
+            ${capitalize name} = options // {
               groups = [];
             };
           }) cfg.users);
diff --git a/scripts/Common/Software/rclone/main.fish b/scripts/Common/Software/rclone/main.fish
index f2379e59..7707656c 100755
--- a/scripts/Common/Software/rclone/main.fish
+++ b/scripts/Common/Software/rclone/main.fish
@@ -9,7 +9,7 @@ begin
 
     function userConfig -V dir -a name
         source "$dir/../../Scripts/config.fish"
-        set -l key "valhalla.users.$name.rclone.configurations"
+        set -l key "valhalla.linux.users.$name.rclone.configurations"
         set -l configs (getConfig "$key" --apply "builtins.attrNames" --json)
 
         if [ (echo "$configs" | jq "length") -gt 0 ]