From 96b713497e4bde6490fae1ebc253c4ea3e5bcdec Mon Sep 17 00:00:00 2001 From: Juan C Nuno Date: Wed, 8 Jul 2026 08:50:31 -0400 Subject: [PATCH 1/2] nixos/version: Add an optionalAttr function --- nixos/modules/misc/version.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index 898c0326cf0b..7b523522852d 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -34,6 +34,7 @@ let osReleaseContents = let isNixos = cfg.distroId == "nixos"; + optionalAttr = cond: attr: if cond then attr else null; in { NAME = "${cfg.distroName}"; @@ -54,8 +55,7 @@ let 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; + ${optionalAttr (config.system.image.version != null) "IMAGE_VERSION"} = config.system.image.version; VARIANT = optionalString (cfg.variantName != null) cfg.variantName; VARIANT_ID = optionalString (cfg.variant_id != null) cfg.variant_id; DEFAULT_HOSTNAME = config.system.nixos.distroId; From 0e49ad90f4ac557124cc6677c19166ffff9c2565 Mon Sep 17 00:00:00 2001 From: Juan C Nuno Date: Wed, 8 Jul 2026 08:50:42 -0400 Subject: [PATCH 2/2] nixos/version: Handle the other attributes Handle the other optional attributes like IMAGE_VERSION --- nixos/modules/misc/version.nix | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index 7b523522852d..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 @@ -39,7 +38,7 @@ let { 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; @@ -48,16 +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; + ${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; - VARIANT = optionalString (cfg.variantName != null) cfg.variantName; - VARIANT_ID = optionalString (cfg.variant_id != null) cfg.variant_id; + ${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;