nixos/version: add options to identify images
This is useful when building appliance images that use among other things partition based A/B updates.
This commit is contained in:
parent
017bc47e74
commit
1e70382b81
1 changed files with 34 additions and 0 deletions
|
@ -28,6 +28,8 @@ let
|
|||
DOCUMENTATION_URL = lib.optionalString (cfg.distroId == "nixos") "https://nixos.org/learn.html";
|
||||
SUPPORT_URL = lib.optionalString (cfg.distroId == "nixos") "https://nixos.org/community.html";
|
||||
BUG_REPORT_URL = lib.optionalString (cfg.distroId == "nixos") "https://github.com/NixOS/nixpkgs/issues";
|
||||
IMAGE_ID = lib.optionalString (config.system.image.id != null) config.system.image.id;
|
||||
IMAGE_VERSION = lib.optionalString (config.system.image.version != null) config.system.image.version;
|
||||
} // lib.optionalAttrs (cfg.variant_id != null) {
|
||||
VARIANT_ID = cfg.variant_id;
|
||||
};
|
||||
|
@ -110,6 +112,38 @@ in
|
|||
example = "installer";
|
||||
};
|
||||
|
||||
image = {
|
||||
|
||||
id = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
Image identifier.
|
||||
|
||||
This corresponds to the IMAGE_ID field in os-release. See the
|
||||
upstream docs for more details on valid characters for this field:
|
||||
https://www.freedesktop.org/software/systemd/man/latest/os-release.html#IMAGE_ID=
|
||||
|
||||
You would only want to set this option if you're build NixOS appliance images.
|
||||
'';
|
||||
};
|
||||
|
||||
version = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
Image version.
|
||||
|
||||
This corresponds to the IMAGE_VERSION field in os-release. See the
|
||||
upstream docs for more details on valid characters for this field:
|
||||
https://www.freedesktop.org/software/systemd/man/latest/os-release.html#IMAGE_VERSION=
|
||||
|
||||
You would only want to set this option if you're build NixOS appliance images.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
stateVersion = mkOption {
|
||||
type = types.str;
|
||||
# TODO Remove this and drop the default of the option so people are forced to set it.
|
||||
|
|
Loading…
Reference in a new issue