2023-04-13 22:08:30 +02:00
|
|
|
# This module optimizes for non-interactive deployments by remove some store paths
|
|
|
|
# which are primarily useful for interactive installations.
|
|
|
|
|
2023-05-07 22:19:04 +02:00
|
|
|
{ config, lib, pkgs, ... }: {
|
2023-04-13 22:08:30 +02:00
|
|
|
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
|
2023-06-11 06:48:02 +02:00
|
|
|
system.extraDependencies = lib.mkForce [ ];
|
2023-04-13 22:08:30 +02:00
|
|
|
|
|
|
|
# prevents shipping nixpkgs, unnecessary if system is evaluated externally
|
2023-06-11 06:48:02 +02:00
|
|
|
nix.registry = lib.mkForce { };
|
2023-04-13 22:08:30 +02:00
|
|
|
|
|
|
|
# would pull in nano
|
|
|
|
programs.nano.syntaxHighlight = lib.mkForce false;
|
|
|
|
|
2023-05-07 22:19:04 +02:00
|
|
|
# prevents nano, strace
|
2023-06-11 06:48:02 +02:00
|
|
|
environment.defaultPackages = lib.mkForce [
|
|
|
|
pkgs.rsync
|
2023-05-15 13:32:57 +02:00
|
|
|
pkgs.parted
|
2023-06-11 06:48:02 +02:00
|
|
|
(pkgs.zfs.override {
|
|
|
|
# this overrides saves 10MB
|
|
|
|
samba = pkgs.coreutils;
|
|
|
|
})
|
2023-07-04 18:07:03 +02:00
|
|
|
pkgs.gptfdisk
|
2023-05-15 13:32:57 +02:00
|
|
|
];
|
2023-04-13 22:08:30 +02:00
|
|
|
|
2023-06-11 06:48:02 +02:00
|
|
|
# we are missing this from base.nix
|
|
|
|
boot.supportedFilesystems = [
|
|
|
|
"btrfs"
|
|
|
|
# probably not needed but does not seem to increase closure size
|
|
|
|
"cifs"
|
|
|
|
"f2fs"
|
|
|
|
## anyone still using this over ext4?
|
|
|
|
#"jfs"
|
|
|
|
"ntfs"
|
|
|
|
## no longer seems to be maintained, anyone still using it?
|
|
|
|
#"reiserfs"
|
|
|
|
"vfat"
|
|
|
|
"xfs"
|
|
|
|
];
|
2023-04-13 22:08:30 +02:00
|
|
|
boot = {
|
2023-11-12 12:34:58 +01:00
|
|
|
kernelModules = [
|
|
|
|
"zfs"
|
|
|
|
# we have to explicitly enable this, otherwise it is not loaded even when creating a raid:
|
|
|
|
# https://github.com/nix-community/nixos-anywhere/issues/249
|
|
|
|
"dm-raid"
|
|
|
|
];
|
2023-06-11 06:48:02 +02:00
|
|
|
extraModulePackages = [
|
2023-12-12 11:10:33 +01:00
|
|
|
(config.boot.kernelPackages.zfs.override {
|
|
|
|
inherit (config.boot.zfs) removeLinuxDRM;
|
|
|
|
})
|
2023-06-11 06:48:02 +02:00
|
|
|
];
|
2023-04-13 22:08:30 +02:00
|
|
|
};
|
2023-05-07 21:32:47 +02:00
|
|
|
|
2023-12-12 11:10:33 +01:00
|
|
|
boot.kernelPatches = lib.optional (config.boot.zfs.removeLinuxDRM && pkgs.stdenv.hostPlatform.system == "aarch64-linux") {
|
|
|
|
name = "export-neon-symbols-as-gpl";
|
|
|
|
patch = pkgs.fetchpatch {
|
|
|
|
url = "https://github.com/torvalds/linux/commit/aaeca98456431a8d9382ecf48ac4843e252c07b3.patch";
|
|
|
|
hash = "sha256-L2g4G1tlWPIi/QRckMuHDcdWBcKpObSWSRTvbHRIwIk=";
|
|
|
|
revert = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-06-11 06:48:02 +02:00
|
|
|
networking.hostId = lib.mkDefault "8425e349";
|
2023-04-13 22:08:30 +02:00
|
|
|
}
|