79 lines
3.2 KiB
Diff
79 lines
3.2 KiB
Diff
diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix
|
|
--- a/nixos/modules/virtualisation/libvirtd.nix
|
|
+++ b/nixos/modules/virtualisation/libvirtd.nix
|
|
@@ -46,6 +46,14 @@ in {
|
|
'';
|
|
};
|
|
|
|
+ package = mkOption {
|
|
+ type = types.package;
|
|
+ default = pkgs.libvirt;
|
|
+ description = ''
|
|
+ libvirt package to use.
|
|
+ '';
|
|
+ };
|
|
+
|
|
qemuPackage = mkOption {
|
|
type = types.package;
|
|
default = pkgs.qemu;
|
|
@@ -169,26 +177,26 @@ in {
|
|
source = "/run/${dirName}/nix-helpers/qemu-bridge-helper";
|
|
};
|
|
|
|
- systemd.packages = [ pkgs.libvirt ];
|
|
+ systemd.packages = [ cfg.package ];
|
|
|
|
systemd.services.libvirtd-config = {
|
|
description = "Libvirt Virtual Machine Management Daemon - configuration";
|
|
script = ''
|
|
# Copy default libvirt network config .xml files to /var/lib
|
|
# Files modified by the user will not be overwritten
|
|
- for i in $(cd ${pkgs.libvirt}/var/lib && echo \
|
|
+ for i in $(cd ${cfg.package}/var/lib && echo \
|
|
libvirt/qemu/networks/*.xml libvirt/qemu/networks/autostart/*.xml \
|
|
libvirt/nwfilter/*.xml );
|
|
do
|
|
mkdir -p /var/lib/$(dirname $i) -m 755
|
|
- cp -npd ${pkgs.libvirt}/var/lib/$i /var/lib/$i
|
|
+ cp -npd ${cfg.package}/var/lib/$i /var/lib/$i
|
|
done
|
|
|
|
# Copy generated qemu config to libvirt directory
|
|
cp -f ${qemuConfigFile} /var/lib/${dirName}/qemu.conf
|
|
|
|
# stable (not GC'able as in /nix/store) paths for using in <emulator> section of xml configs
|
|
- for emulator in ${pkgs.libvirt}/libexec/libvirt_lxc ${cfg.qemuPackage}/bin/qemu-kvm ${cfg.qemuPackage}/bin/qemu-system-*; do
|
|
+ for emulator in ${cfg.package}/libexec/libvirt_lxc ${cfg.qemuPackage}/bin/qemu-kvm ${cfg.qemuPackage}/bin/qemu-system-*; do
|
|
ln -s --force "$emulator" /run/${dirName}/nix-emulators/
|
|
done
|
|
|
|
@@ -249,7 +257,7 @@ in {
|
|
|
|
systemd.services.virtlogd = {
|
|
description = "Virtual machine log manager";
|
|
- serviceConfig.ExecStart = "@${pkgs.libvirt}/sbin/virtlogd virtlogd";
|
|
+ serviceConfig.ExecStart = "@${cfg.package}/sbin/virtlogd virtlogd";
|
|
restartIfChanged = false;
|
|
};
|
|
|
|
@@ -261,7 +269,7 @@ in {
|
|
|
|
systemd.services.virtlockd = {
|
|
description = "Virtual machine lock manager";
|
|
- serviceConfig.ExecStart = "@${pkgs.libvirt}/sbin/virtlockd virtlockd";
|
|
+ serviceConfig.ExecStart = "@${cfg.package}/sbin/virtlockd virtlockd";
|
|
restartIfChanged = false;
|
|
};
|
|
|
|
diff --git a/pkgs/build-support/build-bazel-package/default.nix b/pkgs/build-support/build-bazel-package/default.nix
|
|
--- a/pkgs/build-support/build-bazel-package/default.nix
|
|
+++ b/pkgs/build-support/build-bazel-package/default.nix
|
|
@@ -126,7 +126,7 @@ in stdenv.mkDerivation (fBuildAttrs // {
|
|
find $bazelOut/external -maxdepth 1 -type l | while read symlink; do
|
|
name="$(basename "$symlink")"
|
|
rm "$symlink"
|
|
- test -f "$bazelOut/external/@$name.marker" && rm "$bazelOut/external/@$name.marker"
|
|
+ test -f "$bazelOut/external/@$name.marker" && rm "$bazelOut/external/@$name.marker" || true
|
|
done
|
|
|
|
# Patching symlinks to remove build directory reference
|