{ config, lib, options, pkgs, inputs, modulesPath, ... }: with lib; let calamares-desk-os = lowPrio ( (pkgs.calamares.override {nixos-extensions = true;}) .overrideAttrs { patches = [ ../../packages/calamares/0001-Modifies-the-users-module-to-only-set-passwords-of-u.patch ../../packages/calamares/0002-Makes-calamares-search-run-current-system-sw-share-c.patch ../../packages/calamares/0003-Uses-pkexec-within-modules-in-order-to-run-calamares.patch ../../packages/calamares/0004-Adds-unfree-qml-to-packagechooserq.patch ../../packages/calamares/0005-Modifies-finished-module-to-add-some-NixOS-resources.patch ../../packages/calamares/0006-Remove-options-for-unsupported-partition-types.patch ../../packages/calamares/0007-Fix-setting-the-kayboard-layout-on-GNOME-wayland.patch ../../packages/calamares/0008-Change-default-location-where-calamares-searches-for.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" "systemd.show_status=auto" "rd.udev.log_level=3"]; initrd.verbose = false; loader.systemd-boot.enable = true; loader.timeout = lib.mkForce 0; plymouth = { enable = true; logo = ../../assets/blank-plymouth-logo.png; }; # 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]; }; # Adds terminus_font for people with HiDPI displays console.packages = options.console.packages.default ++ [pkgs.terminus_font]; # 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 $(