include perlless profile in NixOS

conditionally include perlless module

relax perlless constraint
This commit is contained in:
Jörg Thalheim 2024-05-18 14:54:30 +02:00 committed by mergify[bot]
parent f35cc93d09
commit 966d756930

View file

@ -1,4 +1,15 @@
{ config, lib, pkgs, ... }: { {
config,
lib,
pkgs,
modulesPath,
...
}:
let
# can be dropped after 23.11 is removed
hasPerlless = builtins.pathExists "${modulesPath}/profiles/perlless.nix";
in
{
# more descriptive hostname than just "nixos" # more descriptive hostname than just "nixos"
networking.hostName = lib.mkDefault "nixos-installer"; networking.hostName = lib.mkDefault "nixos-installer";
@ -6,9 +17,9 @@
system.stateVersion = config.system.nixos.version; system.stateVersion = config.system.nixos.version;
# use latest kernel we can support to get more hardware support # use latest kernel we can support to get more hardware support
boot.kernelPackages = lib.mkDefault (pkgs.zfs.override { boot.kernelPackages =
removeLinuxDRM = pkgs.hostPlatform.isAarch64; lib.mkDefault
}).latestCompatibleLinuxPackages; (pkgs.zfs.override { removeLinuxDRM = pkgs.hostPlatform.isAarch64; }).latestCompatibleLinuxPackages;
boot.zfs.removeLinuxDRM = lib.mkDefault pkgs.hostPlatform.isAarch64; boot.zfs.removeLinuxDRM = lib.mkDefault pkgs.hostPlatform.isAarch64;
documentation.enable = false; documentation.enable = false;
@ -22,6 +33,12 @@
imports = [ imports = [
./nix-settings.nix ./nix-settings.nix
# reduce closure size by removing perl
] ++ lib.optionals hasPerlless [
"${modulesPath}/profiles/perlless.nix"
# We relax the perl check in perlless.nix as not all images are actually perlless
# and we also want to allow users to install perl if they need it.
{ system.forbiddenDependenciesRegexes = lib.mkForce []; }
]; ];
# Don't add nixpkgs to the image to save space, for our intended use case we don't need it # Don't add nixpkgs to the image to save space, for our intended use case we don't need it