lol

iso-image: Combine GNOME and Plasma flavors

This allows users to choose between the two during bootup rather than
at download time.

+65 -25
+2 -2
nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-gnome.nix
··· 1 1 # This module defines a NixOS installation CD that contains GNOME. 2 2 3 - { pkgs, ... }: 3 + { lib, pkgs, ... }: 4 4 5 5 { 6 6 imports = [ ./installation-cd-graphical-calamares.nix ]; 7 7 8 - isoImage.edition = "gnome"; 8 + isoImage.edition = lib.mkDefault "gnome"; 9 9 10 10 services.xserver.desktopManager.gnome = { 11 11 # Add Firefox and other tools useful for installation to the launcher
+2 -2
nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix
··· 1 1 # This module defines a NixOS installation CD that contains X11 and 2 2 # Plasma 5. 3 3 4 - { pkgs, ... }: 4 + { lib, pkgs, ... }: 5 5 6 6 { 7 7 imports = [ ./installation-cd-graphical-calamares.nix ]; 8 8 9 - isoImage.edition = "plasma5"; 9 + isoImage.edition = lib.mkDefault "plasma5"; 10 10 11 11 services.xserver.desktopManager.plasma5 = { 12 12 enable = true;
+2 -2
nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix
··· 1 1 # This module defines a NixOS installation CD that contains Plasma 6. 2 2 3 - { pkgs, ... }: 3 + { lib, pkgs, ... }: 4 4 5 5 { 6 6 imports = [ ./installation-cd-graphical-calamares.nix ]; 7 7 8 - isoImage.edition = "plasma6"; 8 + isoImage.edition = lib.mkDefault "plasma6"; 9 9 10 10 services.desktopManager.plasma6.enable = true; 11 11
+52
nixos/modules/installer/cd-dvd/installation-cd-graphical-combined.nix
··· 1 + # This configuration uses a specialisation for each desired boot 2 + # configuration, and a common parent configuration for all of them 3 + # that's hidden. This allows users to import this module alongside 4 + # their own and get the full array of specialisations inheriting the 5 + # users' settings. 6 + 7 + { lib, ... }: 8 + { 9 + imports = [ ./installation-cd-base.nix ]; 10 + isoImage.edition = "graphical"; 11 + isoImage.showConfiguration = lib.mkDefault false; 12 + 13 + specialisation = { 14 + gnome.configuration = 15 + { config, ... }: 16 + { 17 + imports = [ ./installation-cd-graphical-calamares-gnome.nix ]; 18 + isoImage.showConfiguration = true; 19 + isoImage.configurationName = "GNOME (Linux LTS)"; 20 + }; 21 + 22 + gnome_latest_kernel.configuration = 23 + { config, ... }: 24 + { 25 + imports = [ 26 + ./installation-cd-graphical-calamares-gnome.nix 27 + ./latest-kernel.nix 28 + ]; 29 + isoImage.showConfiguration = true; 30 + isoImage.configurationName = "GNOME (Linux ${config.boot.kernelPackages.kernel.version})"; 31 + }; 32 + 33 + plasma.configuration = 34 + { config, ... }: 35 + { 36 + imports = [ ./installation-cd-graphical-calamares-plasma6.nix ]; 37 + isoImage.showConfiguration = true; 38 + isoImage.configurationName = "Plasma (Linux LTS)"; 39 + }; 40 + 41 + plasma_latest_kernel.configuration = 42 + { config, ... }: 43 + { 44 + imports = [ 45 + ./installation-cd-graphical-calamares-plasma6.nix 46 + ./latest-kernel.nix 47 + ]; 48 + isoImage.showConfiguration = true; 49 + isoImage.configurationName = "Plasma (Linux ${config.boot.kernelPackages.kernel.version})"; 50 + }; 51 + }; 52 + }
+2 -2
nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
··· 1 1 # This module defines a NixOS installation CD that contains GNOME. 2 2 3 - { ... }: 3 + { lib, ... }: 4 4 5 5 { 6 6 imports = [ ./installation-cd-graphical-base.nix ]; 7 7 8 - isoImage.edition = "gnome"; 8 + isoImage.edition = lib.mkDefault "gnome"; 9 9 10 10 services.xserver.desktopManager.gnome = { 11 11 # Add Firefox and other tools useful for installation to the launcher
+2 -2
nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix
··· 1 1 # This module defines a NixOS installation CD that contains X11 and 2 2 # Plasma 5. 3 3 4 - { pkgs, ... }: 4 + { lib, pkgs, ... }: 5 5 6 6 { 7 7 imports = [ ./installation-cd-graphical-base.nix ]; 8 8 9 - isoImage.edition = "plasma5"; 9 + isoImage.edition = lib.mkDefault "plasma5"; 10 10 11 11 services.xserver.desktopManager.plasma5 = { 12 12 enable = true;
+3 -15
nixos/release.nix
··· 169 169 inherit system; 170 170 }); 171 171 172 - iso_plasma5 = forMatchingSystems supportedSystems (system: makeIso { 173 - module = ./modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix; 174 - type = "plasma5"; 175 - inherit system; 176 - }); 177 - 178 - iso_plasma6 = forMatchingSystems supportedSystems (system: makeIso { 179 - module = ./modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix; 180 - type = "plasma6"; 181 - inherit system; 182 - }); 183 - 184 - iso_gnome = forMatchingSystems supportedSystems (system: makeIso { 185 - module = ./modules/installer/cd-dvd/installation-cd-graphical-calamares-gnome.nix; 186 - type = "gnome"; 172 + iso_graphical = forAllSystems (system: makeIso { 173 + module = ./modules/installer/cd-dvd/installation-cd-graphical-combined.nix; 174 + type = "graphical"; 187 175 inherit system; 188 176 }); 189 177