about summary refs log tree commit diff
path: root/pkgs/applications/virtualization/qemu
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/qemu
parent26f7da7478f13917a626ced377c34273122bd2fe (diff)
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/qemu')
-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 2c220c7d36379..2c2094763cc6e 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.
   };
 }