at 24.11-pre 637 B view raw
1{ config 2, lib 3, pkgs 4, ... 5}: { 6 options.programs.cpu-energy-meter = { 7 enable = lib.mkEnableOption "CPU Energy Meter"; 8 package = lib.mkPackageOption pkgs "cpu-energy-meter" { }; 9 }; 10 11 config = 12 let 13 cfg = config.programs.cpu-energy-meter; 14 in 15 lib.mkIf cfg.enable { 16 hardware.cpu.x86.msr.enable = true; 17 18 security.wrappers.${cfg.package.meta.mainProgram} = { 19 owner = "nobody"; 20 group = config.hardware.cpu.x86.msr.group; 21 source = lib.getExe cfg.package; 22 capabilities = "cap_sys_rawio=ep"; 23 }; 24 }; 25 26 meta.maintainers = with lib.maintainers; [ lorenzleutgeb ]; 27}