summary refs log tree commit diff
path: root/nixos/modules/services/network-filesystems/drbd.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/modules/services/network-filesystems/drbd.nix')
-rw-r--r--nixos/modules/services/network-filesystems/drbd.nix38
1 files changed, 14 insertions, 24 deletions
diff --git a/nixos/modules/services/network-filesystems/drbd.nix b/nixos/modules/services/network-filesystems/drbd.nix
index 1bd67206444..9896a93b189 100644
--- a/nixos/modules/services/network-filesystems/drbd.nix
+++ b/nixos/modules/services/network-filesystems/drbd.nix
@@ -31,13 +31,13 @@ let cfg = config.services.drbd; in
 
   };
 
-  
+
   ###### implementation
 
   config = mkIf cfg.enable {
-  
+
     environment.systemPackages = [ pkgs.drbd ];
-    
+
     services.udev.packages = [ pkgs.drbd ];
 
     boot.kernelModules = [ "drbd" ];
@@ -52,26 +52,16 @@ let cfg = config.services.drbd; in
         target = "drbd.conf";
       };
 
-    jobs.drbd_up =
-      { name = "drbd-up";
-        startOn = "stopped udevtrigger or ip-up";
-        task = true;
-        script =
-          ''
-            ${pkgs.drbd}/sbin/drbdadm up all
-          '';
-      };
-    
-    jobs.drbd_down =
-      { name = "drbd-down";
-        startOn = "starting shutdown";
-        task = true;
-        script =
-          ''
-            ${pkgs.drbd}/sbin/drbdadm down all
-          '';
-      };
-    
+    systemd.services.drbd = {
+      after = [ "systemd-udev.settle.service" ];
+      wants = [ "systemd-udev.settle.service" ];
+      wantedBy = [ "ip-up.target" ];
+      script = ''
+        ${pkgs.drbd}/sbin/drbdadm up all
+      '';
+      serviceConfig.ExecStop = ''
+        ${pkgs.drbd}/sbin/drbdadm down all
+      '';
+    };
   };
-  
 }