mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-13 05:05:29 +03:00
nixos/qemu-vm: add option for named network interfaces
Adds a new option to the virtualisation modules that enables specifying explicitly named network interfaces in QEMU VMs. The existing `virtualisation.vlans` option is still supported for cases where the name of the network interface is irrelevant.
This commit is contained in:
parent
e6e049b7a2
commit
93502aa3b1
5 changed files with 140 additions and 96 deletions
|
@ -564,7 +564,8 @@ in
|
|||
virtualisation.vlans =
|
||||
mkOption {
|
||||
type = types.listOf types.ints.unsigned;
|
||||
default = [ 1 ];
|
||||
default = if config.virtualisation.interfaces == {} then [ 1 ] else [ ];
|
||||
defaultText = lib.literalExpression ''if config.virtualisation.interfaces == {} then [ 1 ] else [ ]'';
|
||||
example = [ 1 2 ];
|
||||
description =
|
||||
lib.mdDoc ''
|
||||
|
@ -579,6 +580,35 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
virtualisation.interfaces = mkOption {
|
||||
default = {};
|
||||
example = {
|
||||
enp1s0.vlan = 1;
|
||||
};
|
||||
description = lib.mdDoc ''
|
||||
Network interfaces to add to the VM.
|
||||
'';
|
||||
type = with types; attrsOf (submodule {
|
||||
options = {
|
||||
vlan = mkOption {
|
||||
type = types.ints.unsigned;
|
||||
description = lib.mdDoc ''
|
||||
VLAN to which the network interface is connected.
|
||||
'';
|
||||
};
|
||||
|
||||
assignIP = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Automatically assign an IP address to the network interface using the same scheme as
|
||||
virtualisation.vlans.
|
||||
'';
|
||||
};
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
virtualisation.writableStore =
|
||||
mkOption {
|
||||
type = types.bool;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue