diff --git a/config/common.nix b/config/common.nix
index 444c65995a90f24cd8e8f921e1e44399a0956596..1ebdc90b9001dc7d4799439a69432aad5799211b 100644
--- a/config/common.nix
+++ b/config/common.nix
@@ -1292,6 +1292,20 @@
                     };
                   };
                 };
+                nikola = lib.mkOption {
+                  type = lib.types.submodule {
+                    options = {
+                      enabled = lib.mkOption {
+                        type = lib.types.bool;
+                        default = false;
+                        example = true;
+                        description = ''
+                          Whether or not nikola has been installed.
+                        '';
+                      };
+                    };
+                  };
+                };
                 ruby = lib.mkOption {
                   type = lib.types.submodule {
                     options = {
diff --git a/pkgs/dev/default.nix b/pkgs/dev/default.nix
index 4747e3c3fb056bdd991bd32912c6450641f1cb4d..c6967675e1a6f41283ebd25560944517eaec3465 100644
--- a/pkgs/dev/default.nix
+++ b/pkgs/dev/default.nix
@@ -12,5 +12,6 @@
     ./glab
     ./lab
     ./gcc
+    ./nikola
   ];
 }
diff --git a/pkgs/dev/nikola/config.nix b/pkgs/dev/nikola/config.nix
new file mode 100644
index 0000000000000000000000000000000000000000..a3d6fd03982387c3ee31ad0a33779f7b5f61d05a
--- /dev/null
+++ b/pkgs/dev/nikola/config.nix
@@ -0,0 +1,4 @@
+{ config, ... }:
+{
+  config.provides.dev.nikola.enabled = true;
+}
diff --git a/pkgs/dev/nikola/default.nix b/pkgs/dev/nikola/default.nix
new file mode 100644
index 0000000000000000000000000000000000000000..a00737cf72ff6eb48cb0935e8e20f6e5b8e08fdc
--- /dev/null
+++ b/pkgs/dev/nikola/default.nix
@@ -0,0 +1,11 @@
+{ pkgs, ... }:
+{
+  imports = [
+    ../common.nix
+    ./config.nix
+  ];
+
+  environment.systemPackages = with pkgs; [
+    python310Packages.nikola
+  ];
+}