diff --git a/config/common.nix b/config/common.nix
index e6507681259e40f831cb14852eb0fa3ff74eb032..ff4bb9681d85e22fa514bc59f54badcfca95227c 100644
--- a/config/common.nix
+++ b/config/common.nix
@@ -1306,6 +1306,20 @@
                     };
                   };
                 };
+                qmk = lib.mkOption {
+                  type = lib.types.submodule {
+                    options = {
+                      enabled = lib.mkOption {
+                        type = lib.types.bool;
+                        default = false;
+                        example = true;
+                        description = ''
+                          Whether or not qmk has been installed.
+                        '';
+                      };
+                    };
+                  };
+                };
                 nikola = lib.mkOption {
                   type = lib.types.submodule {
                     options = {
diff --git a/pkgs/dev/default.nix b/pkgs/dev/default.nix
index 5b2f2a56aad7c70e343007e5b0b428aeaa377e79..c7162217d84ed782aa4606e6c374fee383d8a18a 100644
--- a/pkgs/dev/default.nix
+++ b/pkgs/dev/default.nix
@@ -14,5 +14,6 @@
     ./gcc
     ./nikola
     ./vercel
+    ./qmk
   ];
 }
diff --git a/pkgs/dev/python/default.nix b/pkgs/dev/python/default.nix
index 15df3df9f81b302919be13f9ba6ecded965f0077..852fb107272ee8b259719b82aa7a601d82c090da 100644
--- a/pkgs/dev/python/default.nix
+++ b/pkgs/dev/python/default.nix
@@ -8,7 +8,6 @@
   environment.systemPackages = with pkgs; [
     (python310.withPackages (p: with p; [
       # other python packages
-      qmk
     ]))
 
     #system packages for python
diff --git a/pkgs/dev/qmk/config.nix b/pkgs/dev/qmk/config.nix
new file mode 100644
index 0000000000000000000000000000000000000000..09a6f10ff556f6101688f2f4f0eec8f69f0927da
--- /dev/null
+++ b/pkgs/dev/qmk/config.nix
@@ -0,0 +1,4 @@
+{ config, ... }:
+{
+  config.provides.dev.qmk.enabled = true;
+}
diff --git a/pkgs/dev/qmk/default.nix b/pkgs/dev/qmk/default.nix
new file mode 100644
index 0000000000000000000000000000000000000000..84fcd94707814b3d6950279d2048ecde55c21b6a
--- /dev/null
+++ b/pkgs/dev/qmk/default.nix
@@ -0,0 +1,10 @@
+{ pkgs, ... }: {
+  imports = [
+    ../common.nix
+    ./config.nix
+  ];
+
+  environment.systemPackages = with pkgs; [
+    qmk
+  ];
+}