virtualbox service: add support for vboxsf guest filesystem

Closes #9358

Signed-off-by: Jaka Hudoklin <jakahudoklin@gmail.com>
Fix reference to bin/mount.vboxsf.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>

Changed files
+26 -1
nixos
modules
tasks
filesystems
virtualisation
+1
nixos/modules/module-list.nix
···
./tasks/filesystems/ntfs.nix
./tasks/filesystems/reiserfs.nix
./tasks/filesystems/unionfs-fuse.nix
./tasks/filesystems/vfat.nix
./tasks/filesystems/xfs.nix
./tasks/filesystems/zfs.nix
···
./tasks/filesystems/ntfs.nix
./tasks/filesystems/reiserfs.nix
./tasks/filesystems/unionfs-fuse.nix
+
./tasks/filesystems/vboxsf.nix
./tasks/filesystems/vfat.nix
./tasks/filesystems/xfs.nix
./tasks/filesystems/zfs.nix
+23
nixos/modules/tasks/filesystems/vboxsf.nix
···
···
+
{ config, lib, pkgs, ... }:
+
+
with lib;
+
+
let
+
+
inInitrd = any (fs: fs == "vboxsf") config.boot.initrd.supportedFilesystems;
+
+
package = pkgs.runCommand "mount.vboxsf" {} ''
+
mkdir -p $out/bin
+
cp ${pkgs.linuxPackages.virtualboxGuestAdditions}/bin/mount.vboxsf $out/bin
+
'';
+
in
+
+
{
+
config = mkIf (any (fs: fs == "vboxsf") config.boot.supportedFilesystems) {
+
+
system.fsPackages = [ package ];
+
+
boot.initrd.kernelModules = mkIf inInitrd [ "vboxsf" ];
+
+
};
+
}
+2 -1
nixos/modules/virtualisation/virtualbox-guest.nix
···
boot.extraModulePackages = [ kernel.virtualboxGuestAdditions ];
-
boot.kernelModules = [ "vboxsf" ];
users.extraGroups.vboxsf.gid = config.ids.gids.vboxsf;
···
boot.extraModulePackages = [ kernel.virtualboxGuestAdditions ];
+
boot.supportedFilesystems = [ "vboxsf" ];
+
boot.initrd.supportedFilesystems = [ "vboxsf" ];
users.extraGroups.vboxsf.gid = config.ids.gids.vboxsf;