mirror of
https://github.com/nix-community/disko
synced 2024-11-10 06:14:14 +00:00
make-disk-image: allow vmTools qemu usage to be overriden by disko configuration
This is needed to prevent two layers of emulation when offering a build for a host running binfmt such as an x86 host trying to compile for aarch64 via binfmt
This commit is contained in:
parent
de015d2a44
commit
d8a1d5e1f0
2 changed files with 11 additions and 2 deletions
|
@ -9,6 +9,7 @@
|
||||||
let
|
let
|
||||||
vmTools = pkgs.vmTools.override {
|
vmTools = pkgs.vmTools.override {
|
||||||
rootModules = [ "9p" "9pnet_virtio" "virtio_pci" "virtio_blk" ] ++ nixosConfig.config.disko.extraRootModules;
|
rootModules = [ "9p" "9pnet_virtio" "virtio_pci" "virtio_blk" ] ++ nixosConfig.config.disko.extraRootModules;
|
||||||
|
customQemu = nixosConfig.config.disko.imageBuilderQemu;
|
||||||
kernel = pkgs.aggregateModules
|
kernel = pkgs.aggregateModules
|
||||||
(with nixosConfig.config.disko.imageBuilderKernelPackages; [ kernel ]
|
(with nixosConfig.config.disko.imageBuilderKernelPackages; [ kernel ]
|
||||||
++ lib.optional (lib.elem "zfs" nixosConfig.config.disko.extraRootModules) zfs);
|
++ lib.optional (lib.elem "zfs" nixosConfig.config.disko.extraRootModules) zfs);
|
||||||
|
|
12
module.nix
12
module.nix
|
@ -10,8 +10,16 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.disko = {
|
options.disko = {
|
||||||
imageBuilderKernel = lib.mkOption {
|
imageBuilderQemu = lib.mkOption {
|
||||||
type = lib.types.package;
|
type = lib.types.nullOr lib.types.str;
|
||||||
|
description = ''
|
||||||
|
the qemu emulator string used when building disk images via make-disk-image.nix.
|
||||||
|
Useful when using binfmt on your build host, and wanting to build disk
|
||||||
|
images for a foreign architecture
|
||||||
|
'';
|
||||||
|
default = null;
|
||||||
|
example = lib.literalExpression "''${pkgs.qemu_kvm}/bin/qemu-system-aarch64";
|
||||||
|
};
|
||||||
imageBuilderPkgs = lib.mkOption {
|
imageBuilderPkgs = lib.mkOption {
|
||||||
type = lib.types.attrs;
|
type = lib.types.attrs;
|
||||||
description = ''
|
description = ''
|
||||||
|
|
Loading…
Reference in a new issue