Allow mapping the current user's keys into the VM
This commit is contained in:
parent
3b27b8669f
commit
06efd25d98
2 changed files with 22 additions and 1 deletions
|
@ -16,6 +16,7 @@
|
||||||
vmConfig = {
|
vmConfig = {
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
sharedHostKeys = true;
|
sharedHostKeys = true;
|
||||||
|
sharedUserKeys = true;
|
||||||
usb-redirect = true;
|
usb-redirect = true;
|
||||||
virt-viewer = true;
|
virt-viewer = true;
|
||||||
cores = 4;
|
cores = 4;
|
||||||
|
|
|
@ -36,6 +36,12 @@ in {
|
||||||
default = false;
|
default = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sharedUserKeys = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
description = lib.mdDoc "Whether to load the current user's keys into every user's homer on the VM.";
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
usb-redirect = lib.mkOption {
|
usb-redirect = lib.mkOption {
|
||||||
type = lib.types.bool;
|
type = lib.types.bool;
|
||||||
description = lib.mdDoc "Whether to enable USB redirection to the VM.";
|
description = lib.mdDoc "Whether to enable USB redirection to the VM.";
|
||||||
|
@ -137,7 +143,21 @@ in {
|
||||||
source = path;
|
source = path;
|
||||||
target = path;
|
target = path;
|
||||||
};
|
};
|
||||||
|
} // (lib.optionalAttrs vmVariant.virtualisation.sharedUserKeys (
|
||||||
|
lib.attrsets.concatMapAttrs (
|
||||||
|
name: user:
|
||||||
|
let
|
||||||
|
prefix = if vmVariant.virtualisation.runAsRoot
|
||||||
|
then "sudo -u#$SUDO_UID "
|
||||||
|
else "";
|
||||||
|
homeDir = "$(${prefix}bash -c 'echo $HOME')";
|
||||||
|
in {
|
||||||
|
"userKeys-${name}" = {
|
||||||
|
source = "${homeDir}/.ssh";
|
||||||
|
target = "/home/${name}/.ssh";
|
||||||
};
|
};
|
||||||
|
})
|
||||||
|
config.users.myUsers));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue