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";
|
DOCUMENTATION_URL = lib.optionalString (cfg.distroId == "nixos") "https://nixos.org/learn.html";
|
||||||
SUPPORT_URL = lib.optionalString (cfg.distroId == "nixos") "https://nixos.org/community.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";
|
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) {
|
} // lib.optionalAttrs (cfg.variant_id != null) {
|
||||||
VARIANT_ID = cfg.variant_id;
|
VARIANT_ID = cfg.variant_id;
|
||||||
};
|
};
|
||||||
|
@ -110,6 +112,38 @@ in
|
||||||
example = "installer";
|
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 {
|
stateVersion = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
# TODO Remove this and drop the default of the option so people are forced to set it.
|
# TODO Remove this and drop the default of the option so people are forced to set it.
|
||||||
|
|
Loading…
Reference in a new issue