summary refs log tree commit diff
path: root/nixos/modules/virtualisation
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-08-18 14:04:39 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-08-18 17:09:42 +0200
commit2337a85fc3a0228ede448d74ed8a29e2b1190f8f (patch)
tree97dd0428d2c52f0c674e20cd3b21175eccaa2098 /nixos/modules/virtualisation
parente7860f04c2ab813d696d876bcdcfd9331cedfa2e (diff)
downloadnixlib-2337a85fc3a0228ede448d74ed8a29e2b1190f8f.tar
nixlib-2337a85fc3a0228ede448d74ed8a29e2b1190f8f.tar.gz
nixlib-2337a85fc3a0228ede448d74ed8a29e2b1190f8f.tar.bz2
nixlib-2337a85fc3a0228ede448d74ed8a29e2b1190f8f.tar.lz
nixlib-2337a85fc3a0228ede448d74ed8a29e2b1190f8f.tar.xz
nixlib-2337a85fc3a0228ede448d74ed8a29e2b1190f8f.tar.zst
nixlib-2337a85fc3a0228ede448d74ed8a29e2b1190f8f.zip
Autostart containers at boot time
Diffstat (limited to 'nixos/modules/virtualisation')
-rw-r--r--nixos/modules/virtualisation/containers.nix22
1 files changed, 22 insertions, 0 deletions
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
index 7f545a9d3031..01f63315b9cb 100644
--- a/nixos/modules/virtualisation/containers.nix
+++ b/nixos/modules/virtualisation/containers.nix
@@ -292,5 +292,27 @@ in
 
     environment.systemPackages = [ nixos-container ];
 
+    # Start containers at boot time.
+    systemd.services.all-containers =
+      { description = "All Containers";
+
+        wantedBy = [ "multi-user.target" ];
+
+        serviceConfig.Type = "oneshot";
+
+        script =
+          ''
+            res=0
+            for i in /etc/containers/*.conf; do
+              AUTO_START=
+              source "$i"
+              if [ "$AUTO_START" = 1 ]; then
+                systemctl start "container@$(basename "$i" .conf).service" || res=1
+              fi
+            done
+            exit $res
+          ''; # */
+      };
+
   };
 }