1{
2 config,
3 lib,
4 pkgs,
5 ...
6}:
7
8with lib;
9
10let
11
12 inInitrd = config.boot.initrd.supportedFilesystems.vboxsf or false;
13
14 package = pkgs.runCommand "mount.vboxsf" { preferLocalBuild = true; } ''
15 mkdir -p $out/bin
16 cp ${pkgs.linuxPackages.virtualboxGuestAdditions}/bin/mount.vboxsf $out/bin
17 '';
18in
19
20{
21 config = mkIf (config.boot.supportedFilesystems.vboxsf or false) {
22
23 system.fsPackages = [ package ];
24
25 boot.initrd.kernelModules = mkIf inInitrd [ "vboxsf" ];
26
27 };
28}