diff --git a/modules/darwin/common/telegraf.nix b/modules/darwin/common/telegraf.nix
index bf7ec79..4c61e66 100644
--- a/modules/darwin/common/telegraf.nix
+++ b/modules/darwin/common/telegraf.nix
@@ -1,11 +1,14 @@
 { pkgs, ... }:
 {
+  imports = [
+    ../../shared/telegraf.nix
+  ];
+
   services.telegraf = {
     enable = true;
     extraConfig = {
       agent.interval = "60s";
       inputs = {
-        prometheus.metric_version = 2;
         smart.path_smartctl = "${pkgs.smartmontools}/bin/smartctl";
         system = { };
         mem = { };
diff --git a/modules/nixos/common/default.nix b/modules/nixos/common/default.nix
index 7b140a5..e869e22 100644
--- a/modules/nixos/common/default.nix
+++ b/modules/nixos/common/default.nix
@@ -7,9 +7,9 @@
     ./reboot.nix
     ./security.nix
     ./sops-nix.nix
+    ./telegraf.nix
     ./users.nix
     inputs.sops-nix.nixosModules.sops
-    inputs.srvos.nixosModules.mixins-telegraf
     inputs.srvos.nixosModules.server
   ];
 
@@ -24,9 +24,6 @@
     Restart = "on-failure";
   };
 
-  networking.firewall.allowedTCPPorts = [ 9273 ];
-  services.telegraf.extraConfig.inputs.prometheus.metric_version = 2;
-
   srvos.flake = inputs.self;
 
   boot.kernelPackages = pkgs.lib.mkIf (!config.boot.supportedFilesystems.zfs or false) pkgs.linuxPackages_latest;
diff --git a/modules/nixos/common/telegraf.nix b/modules/nixos/common/telegraf.nix
new file mode 100644
index 0000000..edf2c45
--- /dev/null
+++ b/modules/nixos/common/telegraf.nix
@@ -0,0 +1,9 @@
+{ inputs, ... }:
+{
+  imports = [
+    inputs.srvos.nixosModules.mixins-telegraf
+    ../../shared/telegraf.nix
+  ];
+
+  networking.firewall.allowedTCPPorts = [ 9273 ];
+}
diff --git a/modules/shared/telegraf.nix b/modules/shared/telegraf.nix
new file mode 100644
index 0000000..202fad1
--- /dev/null
+++ b/modules/shared/telegraf.nix
@@ -0,0 +1,7 @@
+{
+  services.telegraf.extraConfig.inputs = {
+    prometheus = {
+      metric_version = 2;
+    };
+  };
+}