NixOS and Home Manager config

feat: nixos system closure size reduction

nel.pet ae0242c3 686efdff

verified
+24
+1
modules/nixos/system/default.nix
··· 5 5 ./lannas.nix 6 6 ./locale.nix 7 7 ./printing.nix 8 + ./size.nix 8 9 ]; 9 10 }
+23
modules/nixos/system/size.nix
··· 1 + { config, lib, ... }: let 2 + cfg = config.cyclamen.system.minimal-size; 3 + in { 4 + options.cyclamen.system.minimal-size = { 5 + enable = lib.mkEnableOption '' 6 + tweaks to the baseline settings of nixos that reduce the size of the system closure. 7 + This removes a bunch of stuff that most don't need but some might. 8 + '' // { default = true; }; 9 + }; 10 + 11 + config = lib.mkIf cfg.enable { 12 + # the default package set is frankly useless. it includes only perl, rsync and strace. 13 + # id rather declare these manually if i want them 14 + environment.defaultPackages = lib.mkForce [ ]; 15 + 16 + # services/misc/graphical-desktop.nix sets this to true when graphical desktops are enabled. 17 + # i dont want speech synthesis by default so no thank you 18 + services.speechd.enable = false; 19 + # similarly services/desktop-managers/plasma6.nix enables orca when plasma is enabled. 20 + # that depends on speechd and so it sets it to true. i also dont want orca by default 21 + services.orca.enable = false; 22 + }; 23 + }