nixos-images/nix/noninteractive.nix
2023-05-15 13:32:59 +02:00

34 lines
1.1 KiB
Nix

# This module optimizes for non-interactive deployments by remove some store paths
# which are primarily useful for interactive installations.
{ config, lib, pkgs, ... }: {
disabledModules = [
# This module adds values to multiple lists (systemPackages, supportedFilesystems)
# which are impossible/unpractical to remove, so we disable the entire module.
"profiles/base.nix"
];
# among others, this prevents carrying a stdenv with gcc in the image
system.extraDependencies = lib.mkForce [];
# prevents shipping nixpkgs, unnecessary if system is evaluated externally
nix.registry = lib.mkForce {};
# would pull in nano
programs.nano.syntaxHighlight = lib.mkForce false;
# prevents nano, strace
environment.defaultPackages = lib.mkForce [
pkgs.rsync
pkgs.parted
];
# zfs support is accidentally disabled by excluding base.nix, re-enable it
boot = {
kernelModules = [ "zfs" ];
extraModulePackages = [ config.boot.kernelPackages.zfs ];
};
# we can drop this after 23.05 has been released, which has this set by default
hardware.enableRedistributableFirmware = lib.mkForce false;
}