{ config, lib, ... }: { options = { crony.pc-services.enable = lib.mkEnableOption "Enable and setup pc related service for gpu/fan/rgb management."; }; config = lib.mkIf config.crony.pc-services.enable { # Enable coolercontrol to setup fancurves programs.coolercontrol = { enable = true; }; # Setup gpu fan curves and light undervolt services.lact = { enable = true; }; # environment.etc."lact/config.yaml".text = '' # apply_settings_timer: 5 # auto_switch_profiles: false # current_profile: null # daemon: # admin_group: wheel # disable_clocks_cleanup: false # log_level: info # gpus: # 10DE:2D04-1771:205E-0000:01:00.0: # fan_control_enabled: true # fan_control_settings: # change_threshold: 2 # curve: # 40: 0.3 # 50: 0.5 # 54: 0.7 # 57: 0.85 # 60: 1.0 # interval_ms: 500 # mode: curve # spindown_delay_ms: 5000 # static_speed: 0.5 # temperature_key: edge # gpu_clock_offsets: # 0: 300 # max_core_clock: 2900 # min_core_clock: 180 # version: 5 # ''; # Setup display brightness changing using ddcutil hardware.i2c.enable = true; # Setup rgb control services.hardware.openrgb.enable = true; # Needed modules to have fan control boot.kernelModules = ["coretemp" "nct6775"]; }; }