{ config, lib, options, pkgs, inputs, modulesPath, ... }: with lib; let calamares-desk-os = lowPrio ( pkgs.calamares-nixos.overrideAttrs (previousAttrs: { patches = previousAttrs.patches ++ [ ../../packages/calamares-nixos/0001-Updates-finished-module-for-desk-os.patch ]; }) ); calamares-extensions-desk-os = pkgs.callPackage ../../packages/calamares-extensions {}; calamares-nixos-autostart = pkgs.makeAutostartItem { name = "io.calamares.calamares"; package = calamares-desk-os; }; in { imports = [ ./iso-image.nix (modulesPath + "/profiles/all-hardware.nix") (modulesPath + "/profiles/base.nix") (modulesPath + "/profiles/installation-device.nix") ]; system.nixos.distroName = "deskOS 1"; # FIXME(m): Disable squashfs compression during development # isoImage.squashfsCompression = null; boot = { consoleLogLevel = 0; kernelParams = ["quiet" "splash" "loglevel=3" "systemd.show_status=false" "rd.systemd.show_status=false" "rd.udev.log_level=3" "udev.log_priority=3"]; initrd.verbose = false; loader.systemd-boot.enable = true; loader.timeout = lib.mkForce 0; plymouth = { enable = true; theme = "desk-os"; themePackages = [(pkgs.callPackage ../../packages/desk-os-plymouth {})]; }; # NOTE(m): Enable kernel modules that improve wifi support on # Macbooks during installation. # See https://nixos.org/manual/nixos/stable/#sec-building-image-drivers # FIXME(m): See if this can be cleaned up and go somewhere else and # ensure this doesn't break non-Apple hardware. initrd.kernelModules = ["wl"]; kernelModules = ["kvm-intel" "wl"]; extraModulePackages = [config.boot.kernelPackages.broadcom_sta]; }; # ISO naming. isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.iso"; # An installation media cannot tolerate a host config defined file # system layout on a fresh machine, before it has been formatted. swapDevices = mkImageMediaOverride []; fileSystems = mkImageMediaOverride config.lib.isoFileSystems; boot.postBootCommands = '' for o in $(