97 lines
2.2 KiB
Nix
97 lines
2.2 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.my.mangohud;
|
|
|
|
settings = {
|
|
# Display
|
|
no_display = true; # Hidden by default
|
|
toggle_hud = "Shift_R+F12";
|
|
font_size = "20";
|
|
|
|
# GPU
|
|
pci_dev = "0:03:00.0";
|
|
gpu_text = "RX 7800 XT";
|
|
gpu_stats = true;
|
|
gpu_load_change = true;
|
|
gpu_load_value = "50,90";
|
|
gpu_load_color = "FFFFFF,FFAA7F,CC0000";
|
|
gpu_voltage = true;
|
|
throttling_status = true;
|
|
gpu_core_clock = true;
|
|
gpu_mem_clock = true;
|
|
gpu_temp = true;
|
|
gpu_mem_temp = true;
|
|
gpu_junction_temp = true;
|
|
gpu_fan = true;
|
|
gpu_power = true;
|
|
|
|
# CPU
|
|
cpu_text = "R7 8700G";
|
|
cpu_stats = true;
|
|
core_load = true;
|
|
core_bars = true;
|
|
cpu_load_change = true;
|
|
cpu_load_value = "50,90";
|
|
cpu_load_color = "FFFFFF,FFAA7F,CC0000";
|
|
cpu_mhz = true;
|
|
cpu_temp = true;
|
|
cpu_power = true;
|
|
io_read = true;
|
|
io_write = true;
|
|
|
|
# RAM
|
|
swap = true;
|
|
vram = true;
|
|
vram_color = "AD64C1";
|
|
ram = true;
|
|
ram_color = "C26693";
|
|
procmem = true;
|
|
|
|
# FPS
|
|
fps = true;
|
|
fps_metrics = "avg,0.01";
|
|
frame_timing = true;
|
|
frametime_color = "FFFFFF";
|
|
throttling_status_graph = true;
|
|
show_fps_limit = true;
|
|
fps_limit = "240,144,120,90,60,30,0";
|
|
|
|
# Extra
|
|
resolution = true;
|
|
fsr = true;
|
|
winesync = true;
|
|
present_mode = true;
|
|
fps_color_change = true;
|
|
fps_color = "B22222,FDFD09,39F900";
|
|
fps_value = "60,144";
|
|
};
|
|
|
|
in
|
|
{
|
|
options.my.mangohud.enable = lib.mkEnableOption { };
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
programs.mangohud = {
|
|
enable = true;
|
|
enableSessionWide = true;
|
|
inherit settings;
|
|
};
|
|
|
|
# Have the config file be a regular file and not a symlink, so it's easy to tinker with it
|
|
xdg.configFile."MangoHud/MangoHud.conf" = {
|
|
target = "MangoHud/MangoHud.conf.tmp";
|
|
onChange = ''
|
|
mkdir -p "${config.xdg.configHome}/MangoHud"
|
|
if [ -L "${config.xdg.configHome}/MangoHud/MangoHud.conf" ]; then
|
|
rm "${config.xdg.configHome}/MangoHud/MangoHud.conf"
|
|
fi
|
|
${pkgs.coreutils}/bin/cp --dereference "${config.xdg.configHome}/MangoHud/MangoHud.conf.tmp" "${config.xdg.configHome}/MangoHud/MangoHud.conf"
|
|
'';
|
|
};
|
|
};
|
|
}
|