diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index 898c0326cf0b..b61e00d647b2 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -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;