forked from aylac.top/nixcfg
this repo has no description
at main 1.2 kB view raw
1{ 2 config, 3 lib, 4 ... 5}: { 6 options.myNixOS.profiles.server.enable = lib.mkEnableOption "server optimizations"; 7 config = lib.mkIf config.myNixOS.profiles.server.enable { 8 boot.kernel.sysctl = { 9 # Improved file monitoring 10 "fs.file-max" = lib.mkDefault 2097152; 11 "fs.inotify.max_user_instances" = lib.mkOverride 100 8192; 12 "fs.inotify.max_user_watches" = lib.mkOverride 100 524288; 13 }; 14 15 documentation = { 16 enable = false; 17 nixos.enable = false; 18 }; 19 20 services = { 21 bpftune.enable = true; 22 23 journald = { 24 storage = "volatile"; 25 extraConfig = "SystemMaxUse=32M\nRuntimeMaxUse=32M"; 26 }; 27 28 timesyncd.enable = true; 29 }; 30 31 system.nixos.tags = ["server"]; 32 33 systemd = { 34 coredump.enable = false; 35 enableEmergencyMode = false; 36 37 oomd = { 38 enable = true; 39 enableRootSlice = true; 40 enableSystemSlice = true; 41 enableUserSlices = true; 42 }; 43 }; 44 45 zramSwap = { 46 enable = lib.mkDefault true; 47 algorithm = lib.mkDefault "zstd"; 48 priority = lib.mkDefault 100; 49 memoryPercent = lib.mkDefault 100; 50 }; 51 52 myNixOS.services.fail2ban.enable = true; 53 }; 54}