summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2017-03-27 10:02:06 +0200
committerGitHub <noreply@github.com>2017-03-27 10:02:06 +0200
commit1b95985b71ea56e88c571f57b3acd3907ae23c00 (patch)
tree5aa46c2705958daa6e0bcd0610a5446485335b96 /nixos
parent50cce50143c8395738702e735c682e4afd965f1c (diff)
parentd545772640d13e0d2d984ad582888deda7cefa86 (diff)
downloadnixlib-1b95985b71ea56e88c571f57b3acd3907ae23c00.tar
nixlib-1b95985b71ea56e88c571f57b3acd3907ae23c00.tar.gz
nixlib-1b95985b71ea56e88c571f57b3acd3907ae23c00.tar.bz2
nixlib-1b95985b71ea56e88c571f57b3acd3907ae23c00.tar.lz
nixlib-1b95985b71ea56e88c571f57b3acd3907ae23c00.tar.xz
nixlib-1b95985b71ea56e88c571f57b3acd3907ae23c00.tar.zst
nixlib-1b95985b71ea56e88c571f57b3acd3907ae23c00.zip
Merge pull request #24148 from volth/libvirt-3.1.0
libvirt: 3.0.0 -> 3.1.0
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/virtualisation/libvirtd.nix30
1 files changed, 20 insertions, 10 deletions
diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix
index 101ea9a4f51b..c0cebaddec8d 100644
--- a/nixos/modules/virtualisation/libvirtd.nix
+++ b/nixos/modules/virtualisation/libvirtd.nix
@@ -90,14 +90,16 @@ in {
 
   config = mkIf cfg.enable {
 
-    environment.systemPackages =
-      [ pkgs.libvirt pkgs.netcat-openbsd ]
-       ++ optional cfg.enableKVM pkgs.qemu_kvm;
+    environment.systemPackages = with pkgs;
+      [ libvirt netcat-openbsd ]
+       ++ optional cfg.enableKVM qemu_kvm;
 
     boot.kernelModules = [ "tun" ];
 
     users.extraGroups.libvirtd.gid = config.ids.gids.libvirtd;
 
+    systemd.packages = [ pkgs.libvirt ];
+
     systemd.services.libvirtd = {
       description = "Libvirt Virtual Machine Management Daemon";
 
@@ -105,13 +107,17 @@ in {
       after = [ "systemd-udev-settle.service" ]
               ++ optional vswitch.enable "vswitchd.service";
 
-      path = [
-          pkgs.bridge-utils
-          pkgs.dmidecode
-          pkgs.dnsmasq
-          pkgs.ebtables
+      environment = {
+        LIBVIRTD_ARGS = ''--config "${configFile}" ${concatStringsSep " " cfg.extraOptions}'';
+      };
+
+      path = with pkgs; [
+          bridge-utils
+          dmidecode
+          dnsmasq
+          ebtables
         ]
-        ++ optional cfg.enableKVM pkgs.qemu_kvm
+        ++ optional cfg.enableKVM qemu_kvm
         ++ optional vswitch.enable vswitch.package;
 
       preStart = ''
@@ -153,13 +159,17 @@ in {
       ''; # */
 
       serviceConfig = {
-        ExecStart = ''@${pkgs.libvirt}/sbin/libvirtd libvirtd --config "${configFile}" ${concatStringsSep " " cfg.extraOptions}'';
         Type = "notify";
         KillMode = "process"; # when stopping, leave the VMs alone
         Restart = "on-failure";
       };
     };
 
+    systemd.services.libvirt-guests = {
+      wantedBy = [ "multi-user.target" ];
+      path = with pkgs; [ coreutils libvirt gawk ];
+    };
+
     systemd.sockets.virtlogd = {
       description = "Virtual machine log manager socket";
       wantedBy = [ "sockets.target" ];