Handle the other optional attributes (#539606)

This commit is contained in:
Matt Sturgeon
2026-07-30 02:58:41 +00:00
committed by GitHub

View File

@@ -14,7 +14,6 @@ let
concatStringsSep
mapAttrsToList
toLower
optionalString
literalExpression
match
mkRenamedOptionModule
@@ -34,11 +33,12 @@ let
osReleaseContents =
let
isNixos = cfg.distroId == "nixos";
optionalAttr = cond: attr: if cond then attr else null;
in
{
NAME = "${cfg.distroName}";
ID = "${cfg.distroId}";
ID_LIKE = optionalString (!isNixos) "nixos";
${optionalAttr (!isNixos) "ID_LIKE"} = "nixos";
VENDOR_NAME = cfg.vendorName;
VERSION = "${cfg.release} (${cfg.codeName})";
VERSION_CODENAME = toLower cfg.codeName;
@@ -47,17 +47,16 @@ let
PRETTY_NAME = "${cfg.distroName} ${cfg.release} (${cfg.codeName})";
CPE_NAME = "cpe:/o:${cfg.vendorId}:${cfg.distroId}:${cfg.release}";
LOGO = "nix-snowflake";
HOME_URL = optionalString isNixos "https://nixos.org/";
VENDOR_URL = optionalString isNixos "https://nixos.org/";
DOCUMENTATION_URL = optionalString isNixos "https://nixos.org/learn.html";
SUPPORT_URL = optionalString isNixos "https://nixos.org/community.html";
BUG_REPORT_URL = optionalString isNixos "https://github.com/NixOS/nixpkgs/issues";
ANSI_COLOR = optionalString isNixos "0;38;2;126;186;228";
IMAGE_ID = optionalString (config.system.image.id != null) config.system.image.id;
${if config.system.image.version != null then "IMAGE_VERSION" else null} =
config.system.image.version;
VARIANT = optionalString (cfg.variantName != null) cfg.variantName;
VARIANT_ID = optionalString (cfg.variant_id != null) cfg.variant_id;
${optionalAttr isNixos "HOME_URL"} = "https://nixos.org/";
${optionalAttr isNixos "VENDOR_URL"} = "https://nixos.org/";
${optionalAttr isNixos "DOCUMENTATION_URL"} = "https://nixos.org/learn.html";
${optionalAttr isNixos "SUPPORT_URL"} = "https://nixos.org/community.html";
${optionalAttr isNixos "BUG_REPORT_URL"} = "https://github.com/NixOS/nixpkgs/issues";
${optionalAttr isNixos "ANSI_COLOR"} = "0;38;2;126;186;228";
${optionalAttr (config.system.image.id != null) "IMAGE_ID"} = config.system.image.id;
${optionalAttr (config.system.image.version != null) "IMAGE_VERSION"} = config.system.image.version;
${optionalAttr (cfg.variantName != null) "VARIANT"} = cfg.variantName;
${optionalAttr (cfg.variant_id != null) "VARIANT_ID"} = cfg.variant_id;
DEFAULT_HOSTNAME = config.system.nixos.distroId;
}
// cfg.extraOSReleaseArgs;