diff --git a/config/common.nix b/config/common.nix
index ff4bb9681d85e22fa514bc59f54badcfca95227c..67b8d4382f7e062e6232d1f8b45dcc78435745c8 100644
--- a/config/common.nix
+++ b/config/common.nix
@@ -1320,6 +1320,20 @@
                     };
                   };
                 };
+                qflipper = lib.mkOption {
+                  type = lib.types.submodule {
+                    options = {
+                      enabled = lib.mkOption {
+                        type = lib.types.bool;
+                        default = false;
+                        example = true;
+                        description = ''
+                          Whether or not qFlipper has been installed.
+                        '';
+                      };
+                    };
+                  };
+                };
                 nikola = lib.mkOption {
                   type = lib.types.submodule {
                     options = {
diff --git a/pkgs/dev/default.nix b/pkgs/dev/default.nix
index c7162217d84ed782aa4606e6c374fee383d8a18a..399a61e17afae73193f01028bf003c06548d27f3 100644
--- a/pkgs/dev/default.nix
+++ b/pkgs/dev/default.nix
@@ -15,5 +15,6 @@
     ./nikola
     ./vercel
     ./qmk
+    ./qflipper
   ];
 }
diff --git a/pkgs/dev/qflipper/config.nix b/pkgs/dev/qflipper/config.nix
new file mode 100644
index 0000000000000000000000000000000000000000..63c79f3eac60befc55acdfc82401cffd8c1cfd09
--- /dev/null
+++ b/pkgs/dev/qflipper/config.nix
@@ -0,0 +1,4 @@
+{ config, ... }:
+{
+  config.provides.dev.qflipper.enabled = true;
+}
diff --git a/pkgs/dev/qflipper/default.nix b/pkgs/dev/qflipper/default.nix
new file mode 100644
index 0000000000000000000000000000000000000000..e23053f5339aaa3bbd2d484dcc8de0b522a16566
--- /dev/null
+++ b/pkgs/dev/qflipper/default.nix
@@ -0,0 +1,10 @@
+{ pkgs, ... }: {
+  imports = [
+    ../common.nix
+    ./config.nix
+  ];
+
+  environment.systemPackages = with pkgs; [
+    qFlipper
+  ];
+}