about summary refs log tree commit diff
path: root/pkgs/applications/virtualization
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-01-20 02:12:07 +0000
committerAlyssa Ross <hi@alyssa.is>2022-03-04 12:42:08 +0000
commitc738e61a9491674bf19cfb540d6756c8c227ad21 (patch)
treeb4971ca869780cad77700f5a5caf3b37eb440c88 /pkgs/applications/virtualization
parent26f7da7478f13917a626ced377c34273122bd2fe (diff)
downloadnixlib-c738e61a9491674bf19cfb540d6756c8c227ad21.tar
nixlib-c738e61a9491674bf19cfb540d6756c8c227ad21.tar.gz
nixlib-c738e61a9491674bf19cfb540d6756c8c227ad21.tar.bz2
nixlib-c738e61a9491674bf19cfb540d6756c8c227ad21.tar.lz
nixlib-c738e61a9491674bf19cfb540d6756c8c227ad21.tar.xz
nixlib-c738e61a9491674bf19cfb540d6756c8c227ad21.tar.zst
nixlib-c738e61a9491674bf19cfb540d6756c8c227ad21.zip
qemu: put virtiofsd in bin/
According to the QEMU documentation, virtiofsd is supposed to be run
directly by users.  It therefore makes sense to have it in bin/, so it
will be in PATH.  Such a change wouldn't make sense upstream, because
it would then conflict with the virtiofsd package, which is generally
preferred if available.  But in Nixpkgs, we don't have to worry about
that and can just make QEMU's virtiofsd a lower priority than the one
from the dedicated package.

[1]: https://qemu.readthedocs.io/en/latest/tools/virtiofsd.html

Fixes: https://github.com/NixOS/nixpkgs/issues/113172 ("QEmu: virtiofsd prone to be garbage collected.")
Fixes: https://github.com/NixOS/nixpkgs/pull/153007 ("nixos/libvirtd: add ${cfg.qemu.package}/libexec to PATH")
Diffstat (limited to 'pkgs/applications/virtualization')
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix2
1 files changed, 2 insertions, 0 deletions
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 2c220c7d3637..2c2094763cc6 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -220,6 +220,7 @@ stdenv.mkDerivation rec {
 
   # Add a ‘qemu-kvm’ wrapper for compatibility/convenience.
   postInstall = ''
+    ln -s $out/libexec/virtiofsd $out/bin
     ln -s $out/bin/qemu-system-${stdenv.hostPlatform.qemuArch} $out/bin/qemu-kvm
   '';
 
@@ -240,5 +241,6 @@ stdenv.mkDerivation rec {
     mainProgram = "qemu-kvm";
     maintainers = with maintainers; [ eelco qyliss ];
     platforms = platforms.unix;
+    priority = 10; # Prefer virtiofsd from the virtiofsd package.
   };
 }