From 7000caafa9b9c1ce18989bf8fb7d0a5686be582d Mon Sep 17 00:00:00 2001 From: a-kenji Date: Wed, 31 Jan 2024 23:47:26 +0700 Subject: [PATCH] vms: wayland attr specified in configuration --- nixosModules/clanCore/vm.nix | 18 +++++++++++++++++- pkgs/clan-cli/clan_cli/vms/run.py | 5 +++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/nixosModules/clanCore/vm.nix b/nixosModules/clanCore/vm.nix index c0db953a1..e96bee956 100644 --- a/nixosModules/clanCore/vm.nix +++ b/nixosModules/clanCore/vm.nix @@ -119,6 +119,14 @@ in change the preferred console. ''; }; + + wayland = lib.mkOption { + type = lib.types.bool; + default = false; + description = lib.mdDoc '' + Whether to run QEMU with a native wayland window, or not. + ''; + }; }; # All important VM config variables needed by the vm runner # this is really just a remapping of values defined elsewhere @@ -156,6 +164,14 @@ in whether to enable graphics for the vm ''; }; + wayland = lib.mkOption { + type = lib.types.bool; + internal = true; + readOnly = true; + description = '' + whether to enable native wayland window passthrough for the vm + ''; + }; }; }; @@ -164,7 +180,7 @@ in clanCore.vm.inspect = { clan_name = config.clanCore.clanName; memory_size = config.clan.virtualisation.memorySize; - inherit (config.clan.virtualisation) cores graphics; + inherit (config.clan.virtualisation) cores graphics wayland; }; # for clan vm create system.clan.vm = { diff --git a/pkgs/clan-cli/clan_cli/vms/run.py b/pkgs/clan-cli/clan_cli/vms/run.py index 25a9bffbc..b9f063796 100644 --- a/pkgs/clan-cli/clan_cli/vms/run.py +++ b/pkgs/clan-cli/clan_cli/vms/run.py @@ -378,8 +378,9 @@ def run_command(args: argparse.Namespace) -> None: machine = Machine(run_options.machine, run_options.flake) vm = inspect_vm(machine=machine) - # TODO: allow to set this in the config - vm.wayland = run_options.wayland + + if run_options.wayland: + vm.wayland = run_options.wayland run_vm(vm, run_options.nix_options)