mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-10-31 22:51:22 +00:00
Merge pull request #83551 from worldofpeace/iso-id
iso-image: normalize volumeID
This commit is contained in:
commit
8583d99e42
@ -107,6 +107,7 @@ xorriso="xorriso
|
|||||||
-publisher nixos
|
-publisher nixos
|
||||||
-graft-points
|
-graft-points
|
||||||
-full-iso9660-filenames
|
-full-iso9660-filenames
|
||||||
|
-joliet
|
||||||
${isoBootFlags}
|
${isoBootFlags}
|
||||||
${usbBootFlags}
|
${usbBootFlags}
|
||||||
${efiBootFlags}
|
${efiBootFlags}
|
||||||
|
@ -18,8 +18,6 @@ with lib;
|
|||||||
# ISO naming.
|
# ISO naming.
|
||||||
isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.iso";
|
isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.iso";
|
||||||
|
|
||||||
isoImage.volumeID = substring 0 11 "NIXOS_ISO";
|
|
||||||
|
|
||||||
# EFI booting
|
# EFI booting
|
||||||
isoImage.makeEfiBootable = true;
|
isoImage.makeEfiBootable = true;
|
||||||
|
|
||||||
|
@ -7,6 +7,8 @@ with lib;
|
|||||||
{
|
{
|
||||||
imports = [ ./installation-cd-graphical-base.nix ];
|
imports = [ ./installation-cd-graphical-base.nix ];
|
||||||
|
|
||||||
|
isoImage.edition = "gnome";
|
||||||
|
|
||||||
services.xserver.desktopManager.gnome3.enable = true;
|
services.xserver.desktopManager.gnome3.enable = true;
|
||||||
|
|
||||||
# Wayland can be problematic for some hardware like Nvidia graphics cards.
|
# Wayland can be problematic for some hardware like Nvidia graphics cards.
|
||||||
|
@ -8,6 +8,8 @@ with lib;
|
|||||||
{
|
{
|
||||||
imports = [ ./installation-cd-graphical-base.nix ];
|
imports = [ ./installation-cd-graphical-base.nix ];
|
||||||
|
|
||||||
|
isoImage.edition = "plasma5";
|
||||||
|
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
desktopManager.plasma5 = {
|
desktopManager.plasma5 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -8,5 +8,7 @@
|
|||||||
[ ./installation-cd-base.nix
|
[ ./installation-cd-base.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
isoImage.edition = "minimal";
|
||||||
|
|
||||||
fonts.fontconfig.enable = false;
|
fonts.fontconfig.enable = false;
|
||||||
}
|
}
|
||||||
|
@ -417,8 +417,17 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
isoImage.edition = mkOption {
|
||||||
|
default = "";
|
||||||
|
description = ''
|
||||||
|
Specifies which edition string to use in the volume ID of the generated
|
||||||
|
ISO image.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
isoImage.volumeID = mkOption {
|
isoImage.volumeID = mkOption {
|
||||||
default = "NIXOS_BOOT_CD";
|
# nixos-$EDITION-$RELEASE-$ARCH
|
||||||
|
default = "nixos${optionalString (config.isoImage.edition != "") "-${config.isoImage.edition}"}-${config.system.nixos.release}-${pkgs.stdenv.hostPlatform.system}";
|
||||||
description = ''
|
description = ''
|
||||||
Specifies the label or volume ID of the generated ISO image.
|
Specifies the label or volume ID of the generated ISO image.
|
||||||
Note that the label is used by stage 1 of the boot process to
|
Note that the label is used by stage 1 of the boot process to
|
||||||
@ -515,6 +524,19 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
assertions = [
|
||||||
|
{
|
||||||
|
assertion = !(stringLength config.isoImage.volumeID > 32);
|
||||||
|
# https://wiki.osdev.org/ISO_9660#The_Primary_Volume_Descriptor
|
||||||
|
# Volume Identifier can only be 32 bytes
|
||||||
|
message = let
|
||||||
|
length = stringLength config.isoImage.volumeID;
|
||||||
|
howmany = toString length;
|
||||||
|
toomany = toString (length - 32);
|
||||||
|
in
|
||||||
|
"isoImage.volumeID ${config.isoImage.volumeID} is ${howmany} characters. That is ${toomany} characters longer than the limit of 32.";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
boot.loader.grub.version = 2;
|
boot.loader.grub.version = 2;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user