mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-09-29 19:30:11 +00:00
[Backport release-26.05] nixos/virtualbox-guest: add package option (#566746)
This commit is contained in:
@@ -13,7 +13,7 @@ let
|
||||
|
||||
package = pkgs.runCommand "mount.vboxsf" { preferLocalBuild = true; } ''
|
||||
mkdir -p $out/bin
|
||||
cp ${pkgs.linuxPackages.virtualboxGuestAdditions}/bin/mount.vboxsf $out/bin
|
||||
cp ${config.virtualisation.virtualbox.guest.package}/bin/mount.vboxsf $out/bin
|
||||
'';
|
||||
in
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
}:
|
||||
let
|
||||
cfg = config.virtualisation.virtualbox.guest;
|
||||
kernel = config.boot.kernelPackages;
|
||||
|
||||
mkVirtualBoxUserService = serviceArgs: verbose: {
|
||||
description = "VirtualBox Guest User Services ${serviceArgs}";
|
||||
@@ -25,7 +24,7 @@ let
|
||||
preStart = "${pkgs.bash}/bin/bash -c \"if [ -z $DISPLAY ]; then exit 1; fi\"";
|
||||
serviceConfig = {
|
||||
ExecStart =
|
||||
"@${kernel.virtualboxGuestAdditions}/bin/VBoxClient"
|
||||
"@${cfg.package}/bin/VBoxClient"
|
||||
+ (lib.strings.optionalString verbose " --verbose")
|
||||
+ " --foreground ${serviceArgs}";
|
||||
# Wait after a failure, hoping that the display environment is ready after waiting
|
||||
@@ -66,6 +65,10 @@ in
|
||||
description = "Whether to enable the VirtualBox service and other guest additions.";
|
||||
};
|
||||
|
||||
package = lib.mkPackageOption config.boot.kernelPackages "virtualboxGuestAdditions" {
|
||||
pkgsText = "config.boot.kernelPackages";
|
||||
};
|
||||
|
||||
clipboard = lib.mkOption {
|
||||
default = true;
|
||||
type = lib.types.bool;
|
||||
@@ -115,9 +118,9 @@ in
|
||||
}
|
||||
];
|
||||
|
||||
environment.systemPackages = [ kernel.virtualboxGuestAdditions ];
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
boot.extraModulePackages = lib.mkIf cfg.use3rdPartyModules [ kernel.virtualboxGuestAdditions ];
|
||||
boot.extraModulePackages = lib.mkIf cfg.use3rdPartyModules [ cfg.package ];
|
||||
|
||||
systemd.services.virtualbox = {
|
||||
description = "VirtualBox Guest Services";
|
||||
@@ -128,7 +131,7 @@ in
|
||||
|
||||
unitConfig.ConditionVirtualization = "oracle";
|
||||
|
||||
serviceConfig.ExecStart = "@${kernel.virtualboxGuestAdditions}/bin/VBoxService VBoxService --foreground";
|
||||
serviceConfig.ExecStart = "@${cfg.package}/bin/VBoxService VBoxService --foreground";
|
||||
};
|
||||
|
||||
users.groups.vboxuserdev = { };
|
||||
|
||||
Reference in New Issue
Block a user