diff --git a/modules/nixos/system/size.nix b/modules/nixos/system/size.nix index eeb3168..9123512 100644 --- a/modules/nixos/system/size.nix +++ b/modules/nixos/system/size.nix @@ -1,4 +1,5 @@ { config, lib, ... }: let + inherit (lib) mkIf mkMerge mkDefault; cfg = config.cyclamen.system.minimal-size; in { options.cyclamen.system.minimal-size = { @@ -8,37 +9,48 @@ in { '' // { default = true; }; }; - config = lib.mkIf cfg.enable { - # the default package set is frankly useless. it includes only perl, rsync and strace. - # id rather declare these manually if i want them - environment.defaultPackages = lib.mkForce [ ]; + config = mkIf cfg.enable (mkMerge [ + # cyclamen stuff + { + # the default package set is frankly useless. it includes only perl, rsync and strace. + # id rather declare these manually if i want them + environment.defaultPackages = lib.mkForce [ ]; - # services/misc/graphical-desktop.nix sets this to true when graphical desktops are enabled. - # i dont want speech synthesis by default so no thank you - services.speechd.enable = false; - # similarly services/desktop-managers/plasma6.nix enables orca when plasma is enabled. - # that depends on speechd and so it sets it to true. i also dont want orca by default - services.orca.enable = false; + # services/misc/graphical-desktop.nix sets this to true when graphical desktops are enabled. + # i dont want speech synthesis by default so no thank you + services.speechd.enable = false; + # similarly services/desktop-managers/plasma6.nix enables orca when plasma is enabled. + # that depends on speechd and so it sets it to true. i also dont want orca by default + services.orca.enable = false; + + # mandoc is both smaller than man-db and generally faster + documentation.man = { + man-db.enable = mkDefault false; + mandoc.enable = mkDefault true; + }; + } # from the official perlless profile - # Remove perl from activation - boot.initrd.systemd.enable = lib.mkDefault true; - system.etc.overlay.enable = lib.mkDefault true; - services.userborn.enable = lib.mkDefault true; + { + # Remove perl from activation + boot.initrd.systemd.enable = lib.mkDefault true; + system.etc.overlay.enable = lib.mkDefault true; + services.userborn.enable = lib.mkDefault true; - # Random perl remnants - system.tools.nixos-generate-config.enable = lib.mkDefault false; - boot.loader.grub.enable = lib.mkDefault false; - # environment.defaultPackages = lib.mkDefault [ ]; - documentation.info.enable = lib.mkDefault false; - documentation.nixos.enable = lib.mkDefault false; + # Random perl remnants + system.tools.nixos-generate-config.enable = lib.mkDefault false; + boot.loader.grub.enable = lib.mkDefault false; + environment.defaultPackages = lib.mkDefault [ ]; + documentation.info.enable = lib.mkDefault false; + documentation.nixos.enable = lib.mkDefault false; - # many packages bring in perl for various reasons. the goal isnt to be completely - # rid of perl at all costs but to make sure perl doesnt get included purely for nixos itself. - # hence we disable this check - # - # Check that the system does not contain a Nix store path that contains the - # string "perl". - # system.forbiddenDependenciesRegexes = [ "perl" ]; - }; + # many packages bring in perl for various reasons. the goal isnt to be completely + # rid of perl at all costs but to make sure perl doesnt get included purely for nixos itself. + # hence we disable this check + # + # Check that the system does not contain a Nix store path that contains the + # string "perl". + # system.forbiddenDependenciesRegexes = [ "perl" ]; + } + ]); }