diff --git a/nixos/modules/installer/cd-dvd/installation-cd-minimal-combined.nix b/nixos/modules/installer/cd-dvd/installation-cd-minimal-combined.nix new file mode 100644 index 000000000000..38f70d0c44f8 --- /dev/null +++ b/nixos/modules/installer/cd-dvd/installation-cd-minimal-combined.nix @@ -0,0 +1,14 @@ +{ lib, ... }: + +{ + imports = [ ./installation-cd-minimal.nix ]; + + isoImage.configurationName = lib.mkDefault "(Linux LTS)"; + + specialisation.latest_kernel.configuration = + { config, ... }: + { + imports = [ ./latest-kernel.nix ]; + isoImage.configurationName = "(Linux ${config.boot.kernelPackages.kernel.version})"; + }; +} diff --git a/nixos/modules/installer/cd-dvd/latest-kernel.nix b/nixos/modules/installer/cd-dvd/latest-kernel.nix new file mode 100644 index 000000000000..ac2baaf9ff69 --- /dev/null +++ b/nixos/modules/installer/cd-dvd/latest-kernel.nix @@ -0,0 +1,5 @@ +{ lib, pkgs, ... }: +{ + boot.kernelPackages = pkgs.linuxPackages_latest; + boot.supportedFilesystems.zfs = false; +} diff --git a/nixos/modules/profiles/base.nix b/nixos/modules/profiles/base.nix index c60c0300bf92..ba05c31393c0 100644 --- a/nixos/modules/profiles/base.nix +++ b/nixos/modules/profiles/base.nix @@ -48,14 +48,19 @@ ]; # Include support for various filesystems and tools to create / manipulate them. - boot.supportedFilesystems = [ - "btrfs" - "cifs" - "f2fs" - "ntfs" - "vfat" - "xfs" - ] ++ lib.optional (lib.meta.availableOn pkgs.stdenv.hostPlatform config.boot.zfs.package) "zfs"; + boot.supportedFilesystems = lib.mkMerge [ + [ + "btrfs" + "cifs" + "f2fs" + "ntfs" + "vfat" + "xfs" + ] + (lib.mkIf (lib.meta.availableOn pkgs.stdenv.hostPlatform config.boot.zfs.package) { + zfs = lib.mkDefault true; + }) + ]; # Configure host id for ZFS to work networking.hostId = lib.mkDefault "8425e349"; diff --git a/nixos/release.nix b/nixos/release.nix index 7c843173ecc4..dabd9cf47ed2 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -164,7 +164,7 @@ in rec { }); iso_minimal = forAllSystems (system: makeIso { - module = ./modules/installer/cd-dvd/installation-cd-minimal.nix; + module = ./modules/installer/cd-dvd/installation-cd-minimal-combined.nix; type = "minimal"; inherit system; }); @@ -187,22 +187,6 @@ in rec { inherit system; }); - # A variant with a more recent (but possibly less stable) kernel that might support more hardware. - # This variant keeps zfs support enabled, hoping it will build and work. - iso_minimal_new_kernel = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system: makeIso { - module = ./modules/installer/cd-dvd/installation-cd-minimal-new-kernel.nix; - type = "minimal-new-kernel"; - inherit system; - }); - - # A variant with a more recent (but possibly less stable) kernel that might support more hardware. - # ZFS support disabled since it is unlikely to support the latest kernel. - iso_minimal_new_kernel_no_zfs = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system: makeIso { - module = ./modules/installer/cd-dvd/installation-cd-minimal-new-kernel-no-zfs.nix; - type = "minimal-new-kernel-no-zfs"; - inherit system; - }); - sd_image = forMatchingSystems [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ] (system: makeSdImage { module = { armv6l-linux = ./modules/installer/sd-card/sd-image-raspberrypi-installer.nix;