mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-13 21:50:33 +03:00
Merge staging-next into staging
This commit is contained in:
commit
b8ec2cc99b
22 changed files with 507 additions and 413 deletions
|
@ -52,7 +52,7 @@ let
|
|||
hasAttrByPath (splitString "." component) cfg.config
|
||||
|| useComponentPlatform component
|
||||
|| useExplicitComponent component
|
||||
|| builtins.elem component cfg.extraComponents;
|
||||
|| builtins.elem component (cfg.extraComponents ++ cfg.defaultIntegrations);
|
||||
|
||||
# Final list of components passed into the package to include required dependencies
|
||||
extraComponents = filter useComponent availableComponents;
|
||||
|
@ -103,6 +103,45 @@ in {
|
|||
description = lib.mdDoc "The config directory, where your {file}`configuration.yaml` is located.";
|
||||
};
|
||||
|
||||
defaultIntegrations = mkOption {
|
||||
type = types.listOf (types.enum availableComponents);
|
||||
# https://github.com/home-assistant/core/blob/dev/homeassistant/bootstrap.py#L109
|
||||
default = [
|
||||
"application_credentials"
|
||||
"frontend"
|
||||
"hardware"
|
||||
"logger"
|
||||
"network"
|
||||
"system_health"
|
||||
|
||||
# key features
|
||||
"automation"
|
||||
"person"
|
||||
"scene"
|
||||
"script"
|
||||
"tag"
|
||||
"zone"
|
||||
|
||||
# built-in helpers
|
||||
"counter"
|
||||
"input_boolean"
|
||||
"input_button"
|
||||
"input_datetime"
|
||||
"input_number"
|
||||
"input_select"
|
||||
"input_text"
|
||||
"schedule"
|
||||
"timer"
|
||||
|
||||
# non-supervisor
|
||||
"backup"
|
||||
];
|
||||
readOnly = true;
|
||||
description = ''
|
||||
List of integrations set are always set up, unless in recovery mode.
|
||||
'';
|
||||
};
|
||||
|
||||
extraComponents = mkOption {
|
||||
type = types.listOf (types.enum availableComponents);
|
||||
default = [
|
||||
|
|
|
@ -185,6 +185,19 @@ in
|
|||
can be loaded using "nft -f". The ruleset is updated atomically.
|
||||
'';
|
||||
};
|
||||
|
||||
networking.nftables.flattenRulesetFile = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Use `builtins.readFile` rather than `include` to handle {option}`networking.nftables.rulesetFile`. It is useful when you want to apply {option}`networking.nftables.preCheckRuleset` to {option}`networking.nftables.rulesetFile`.
|
||||
|
||||
::: {.note}
|
||||
It is expected that {option}`networking.nftables.rulesetFile` can be accessed from the build sandbox.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
networking.nftables.tables = mkOption {
|
||||
type = types.attrsOf (types.submodule tableSubmodule);
|
||||
|
||||
|
@ -295,9 +308,13 @@ in
|
|||
}
|
||||
'') enabledTables)}
|
||||
${cfg.ruleset}
|
||||
${lib.optionalString (cfg.rulesetFile != null) ''
|
||||
include "${cfg.rulesetFile}"
|
||||
''}
|
||||
${if cfg.rulesetFile != null then
|
||||
if cfg.flattenRulesetFile then
|
||||
builtins.readFile cfg.rulesetFile
|
||||
else ''
|
||||
include "${cfg.rulesetFile}"
|
||||
''
|
||||
else ""}
|
||||
'';
|
||||
checkPhase = lib.optionalString cfg.checkRuleset ''
|
||||
cp $out ruleset.conf
|
||||
|
|
|
@ -738,7 +738,7 @@ in
|
|||
See the [QEMU Wiki on Networking](https://wiki.qemu.org/Documentation/Networking) for details.
|
||||
|
||||
If you override this option, be advised to keep
|
||||
''${QEMU_NET_OPTS:+,$QEMU_NET_OPTS} (as seen in the example)
|
||||
`''${QEMU_NET_OPTS:+,$QEMU_NET_OPTS}` (as seen in the example)
|
||||
to keep the default runtime behaviour.
|
||||
'';
|
||||
};
|
||||
|
@ -813,14 +813,19 @@ in
|
|||
defaultText = "!cfg.useBootLoader";
|
||||
description =
|
||||
lib.mdDoc ''
|
||||
If enabled, the virtual machine will boot directly into the kernel instead of through a bootloader. Other relevant parameters such as the initrd are also passed to QEMU.
|
||||
If enabled, the virtual machine will boot directly into the kernel instead of through a bootloader.
|
||||
Read more about this feature in the [QEMU documentation on Direct Linux Boot](https://qemu-project.gitlab.io/qemu/system/linuxboot.html)
|
||||
|
||||
This is enabled by default.
|
||||
If you want to test netboot, consider disabling this option.
|
||||
Enable a bootloader with {option}`virtualisation.useBootLoader` if you need.
|
||||
|
||||
This will not boot / reboot correctly into a system that has switched to a different configuration on disk.
|
||||
Relevant parameters such as those set in `boot.initrd` and `boot.kernelParams` are also passed to QEMU.
|
||||
Additional parameters can be supplied on invocation through the environment variable `$QEMU_KERNEL_PARAMS`.
|
||||
They are added to the `-append` option, see [QEMU User Documentation](https://www.qemu.org/docs/master/system/qemu-manpage) for details
|
||||
For example, to let QEMU use the parent terminal as the serial console, set `QEMU_KERNEL_PARAMS="console=ttyS0"`.
|
||||
|
||||
This is enabled by default if you don't enable bootloaders, but you can still enable a bootloader if you need.
|
||||
Read more about this feature: <https://qemu-project.gitlab.io/qemu/system/linuxboot.html>.
|
||||
This will not (re-)boot correctly into a system that has switched to a different configuration on disk.
|
||||
'';
|
||||
};
|
||||
initrd =
|
||||
|
@ -850,6 +855,8 @@ in
|
|||
|
||||
If disabled, the kernel and initrd are directly booted,
|
||||
forgoing any bootloader.
|
||||
|
||||
Check the documentation on {option}`virtualisation.directBoot.enable` for details.
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue