runInVM: split out
...the ${vmName} argument was kept for compat, which is no longer necessary
This commit is contained in:
parent
6dcd2a370a
commit
dc583da67e
2 changed files with 30 additions and 24 deletions
|
|
@ -2,6 +2,7 @@
|
||||||
lib,
|
lib,
|
||||||
newScope,
|
newScope,
|
||||||
makeDesktopItem,
|
makeDesktopItem,
|
||||||
|
writeShellScript,
|
||||||
writeShellScriptBin,
|
writeShellScriptBin,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
|
@ -18,12 +19,17 @@ 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}`" (
|
||||||
|
writeShellScriptBin "run-in-${vmName}" "${lib.getExe self.runInVM} ${vmName} $@"
|
||||||
|
);
|
||||||
|
runInVM = writeShellScriptBin "run-in" ''
|
||||||
|
vmName=$1
|
||||||
|
shift
|
||||||
localArgs=(
|
localArgs=(
|
||||||
${lib.optionalString self.useSessionUnits "--user"}
|
${lib.optionalString self.useSessionUnits "--user"}
|
||||||
--property=Requires=${self.vmUnitPrefix}${vmName}.service
|
--property=Requires="${self.vmUnitPrefix}$vmName".service
|
||||||
--property=After=${self.vmUnitPrefix}${vmName}.service
|
--property=After="${self.vmUnitPrefix}$vmName".service
|
||||||
--property=SyslogIdentifier="$1 (${vmName})"
|
--property=SyslogIdentifier="$1 ($vmName)"
|
||||||
)
|
)
|
||||||
remoteArgs=(
|
remoteArgs=(
|
||||||
systemd-run
|
systemd-run
|
||||||
|
|
@ -38,7 +44,7 @@ lib.makeScope newScope (self: {
|
||||||
)
|
)
|
||||||
systemd-run \
|
systemd-run \
|
||||||
"''${localArgs[@]}" \
|
"''${localArgs[@]}" \
|
||||||
ssh ${self.vmUser}@${self.vmSshPrefix}${vmName} \
|
ssh "${self.vmUser}@${self.vmSshPrefix}$vmName" \
|
||||||
"''${remoteArgs[@]}" $@
|
"''${remoteArgs[@]}" $@
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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" {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue