runInVM: split out

...the ${vmName} argument was kept for compat, which is no longer necessary
This commit is contained in:
Else, Someone 2025-10-26 20:49:14 +02:00
parent 6dcd2a370a
commit dc583da67e
2 changed files with 30 additions and 24 deletions

View file

@ -2,6 +2,7 @@
lib, lib,
newScope, newScope,
makeDesktopItem, makeDesktopItem,
writeShellScript,
writeShellScriptBin, writeShellScriptBin,
}: }:
@ -18,29 +19,34 @@ lib.makeScope newScope (self: {
mkRunInVM = vmName: lib.getExe (self.mkRunInVMPkg vmName); mkRunInVM = vmName: lib.getExe (self.mkRunInVMPkg vmName);
mkRunInVMPkg = mkRunInVMPkg =
vmName: vmName:
writeShellScriptBin "run-in-${vmName}" '' lib.warn "Use `\${runInVM} foobar` instead of `\${mkRunInVMPkg foobar}`" (
localArgs=( writeShellScriptBin "run-in-${vmName}" "${lib.getExe self.runInVM} ${vmName} $@"
${lib.optionalString self.useSessionUnits "--user"} );
--property=Requires=${self.vmUnitPrefix}${vmName}.service runInVM = writeShellScriptBin "run-in" ''
--property=After=${self.vmUnitPrefix}${vmName}.service vmName=$1
--property=SyslogIdentifier="$1 (${vmName})" shift
) localArgs=(
remoteArgs=( ${lib.optionalString self.useSessionUnits "--user"}
systemd-run --property=Requires="${self.vmUnitPrefix}$vmName".service
--user --property=After="${self.vmUnitPrefix}$vmName".service
--property=StandardError="journal+console" --property=SyslogIdentifier="$1 ($vmName)"
--property=StandardOutput="journal+console" )
--property=OOMScoreAdjust=${toString self.oomScoreAdjust} remoteArgs=(
${lib.optionalString (self.waylandProxyUnit != null) '' systemd-run
--property=Requires=${self.waylandProxyUnit} --user
--property=After=${self.waylandProxyUnit} --property=StandardError="journal+console"
''} --property=StandardOutput="journal+console"
) --property=OOMScoreAdjust=${toString self.oomScoreAdjust}
systemd-run \ ${lib.optionalString (self.waylandProxyUnit != null) ''
"''${localArgs[@]}" \ --property=Requires=${self.waylandProxyUnit}
ssh ${self.vmUser}@${self.vmSshPrefix}${vmName} \ --property=After=${self.waylandProxyUnit}
"''${remoteArgs[@]}" $@ ''}
''; )
systemd-run \
"''${localArgs[@]}" \
ssh "${self.vmUser}@${self.vmSshPrefix}$vmName" \
"''${remoteArgs[@]}" $@
'';
# Actual .desktop item adapters # Actual .desktop item adapters
toVM = toVM =

View file

@ -240,7 +240,7 @@ in
[ [
{ {
environment.systemPackages = [ environment.systemPackages = [
(desktopItems.mkRunInVMPkg "browser") (desktopItems.runInVM)
(pkgs.makeDesktopItem ( (pkgs.makeDesktopItem (
desktopItems.toBrowser ( desktopItems.toBrowser (
(desktopItems.toVM "browser" { (desktopItems.toVM "browser" {