diff --git a/modules/nixos/clicks/nix/default.nix b/modules/nixos/clicks/nix/default.nix
new file mode 100644
index 0000000..742980d
--- /dev/null
+++ b/modules/nixos/clicks/nix/default.nix
@@ -0,0 +1,103 @@
+# SPDX-FileCopyrightText: 2024 Auxolotl Infrastructure Contributors
+# SPDX-FileCopyrightText: 2024 Clicks Codes
+#
+# SPDX-License-Identifier: GPL-3.0-only
+
+{
+  options,
+  config,
+  pkgs,
+  lib,
+  inputs,
+  ...
+}:
+let
+  cfg = config.clicks.nix;
+
+  substituters-submodule = lib.types.submodule (
+    { name, ... }:
+    {
+      options = {
+        key = lib.mkOption {
+          type = lib.types.nullOr lib.types.str;
+          default = null;
+          description = "The trusted public key for this substituter.";
+        };
+      };
+    }
+  );
+in
+{
+  options.clicks.nix = {
+    enable = lib.mkEnableOption "Nix configuration";
+    package = lib.mkOption {
+      type = lib.types.package;
+      default = pkgs.nix;
+      defaultText = "pkgs.nix";
+      description = "Which Nix package to use.";
+    };
+
+    default-substituter = {
+      url = lib.mkOption {
+        type = lib.types.str;
+        default = "https://cache.nixos.org";
+        description = "The url for the substituter.";
+      };
+      key = lib.mkOption {
+        type = lib.types.str;
+        default = "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=";
+        description = "The trusted public key for the substituter.";
+      };
+    };
+
+    extra-substituters = lib.mkOption {
+      type = lib.types.attrsOf substituters-submodule;
+      default = { };
+      description = "Extra substituters to configure.";
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    assertions = lib.mapAttrsToList (name: value: {
+      assertion = value.key != null;
+      message = "auxolotl.nix.extra-substituters.${name}.key must be set";
+    }) cfg.extra-substituters;
+
+    nix =
+      let
+        users = [ "root" ];
+      in
+      {
+        package = cfg.package;
+
+        settings = {
+          experimental-features = "nix-command flakes";
+          http-connections = 50;
+          log-lines = 50;
+          auto-optimise-store = true;
+
+          trusted-users = users;
+          allowed-users = users;
+
+          substituters = [
+            cfg.default-substituter.url
+          ] ++ (lib.mapAttrsToList (name: value: name) cfg.extra-substituters);
+
+          trusted-public-keys = [
+            cfg.default-substituter.key
+          ] ++ (lib.mapAttrsToList (name: value: value.key) cfg.extra-substituters);
+        };
+
+        gc = {
+          automatic = true;
+          dates = "weekly";
+          options = "--delete-older-than 30d";
+        };
+
+        # flake-utils-plus
+        generateRegistryFromInputs = true;
+        generateNixPathFromInputs = true;
+        linkInputs = true;
+      };
+  };
+}
