Personal Nix setup
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Activate sysctl iogpu changes on startup

+17 -9
+17 -9
modules/base/macos-vram.nix
··· 3 3 with lib; 4 4 let 5 5 cfg = config.modules.vram; 6 + 7 + setWiredLimitMb = optionalString (cfg.wiredLimit != null) '' 8 + wired_memsize_mb=$(($(sysctl -n hw.memsize) / 1024 / 1024)) 9 + sysctl -w iogpu.wired_limit_mb="$((wired_memsize_mb - ${toString (cfg.wiredLimit * 1024)}))" 10 + ''; 11 + setWiredLowWaterMarkMb = optionalString (cfg.wiredLowWatermark != null) '' 12 + sysctl -w iogpu.wired_lwm_mb="$((${toString (cfg.wiredLowWatermark * 1024)}))" 13 + ''; 6 14 in helpers.darwinAttrs { 7 15 options.modules.vram = { 8 16 wiredLimit = mkOption { ··· 19 27 }; 20 28 21 29 config = mkIf (cfg.wiredLimit != null || cfg.wiredLowWatermark != null) { 22 - system.activationScripts.postActivation.text = let 23 - setWiredLimitMb = optionalString (cfg.wiredLimit != null) '' 24 - wired_memsize_mb=$(($(sysctl -n hw.memsize) / 1024 / 1024)) 25 - sysctl -w iogpu.wired_limit_mb="$((wired_memsize_mb - ${toString (cfg.wiredLimit * 1024)}))" 26 - ''; 27 - setWiredLowWaterMarkMb = optionalString (cfg.wiredLowWatermark != null) '' 28 - sysctl -w iogpu.wired_lwm_mb="$((${toString (cfg.wiredLowWatermark * 1024)}))" 29 - ''; 30 - in '' 30 + system.activationScripts.postActivation.text = '' 31 31 ${setWiredLimitMb} 32 32 ${setWiredLowWaterMarkMb} 33 33 ''; 34 + 35 + launchd.daemons."sysctl-wired-limit" = { 36 + serviceConfig.RunAtLoad = true; 37 + script = '' 38 + ${setWiredLimitMb} 39 + ${setWiredLowWaterMarkMb} 40 + ''; 41 + }; 34 42 }; 35 43 } 36 44