{ config, lib, pkgs, ... }: with lib; { config = { programs.sm64ex = { enable = true; settings = { fullscreen = true; window_x = 0; window_y = 0; window_w = 1920; window_h = 1080; vsync = 1; texture_filtering = 1; master_volume = 127; music_volume = 127; sfx_volume = 127; env_volume = 127; key_a = [ "0026" "1000" "1103" ]; key_b = [ "0033" "1002" "1101" ]; key_start = [ "0039" "1006" "ffff" ]; key_l = [ "0034" "1007" "1104" ]; key_r = [ "0036" "100a" "1105" ]; key_z = [ "0025" "1009" "1102" ]; key_cup = [ "100b" "ffff" "ffff" ]; key_cdown = [ "100c" "ffff" "ffff" ]; key_cleft = [ "100d" "ffff" "ffff" ]; key_cright = [ "100e" "ffff" "ffff" ]; key_stickup = [ "0011" "ffff" "ffff" ]; key_stickdown = [ "001f" "ffff" "ffff" ]; key_stickleft = [ "001e" "ffff" "ffff" ]; key_stickright = [ "0020" "ffff" "ffff" ]; stick_deadzone = 16; rumble_strength = 10; skip_intro = 1; }; }; test.stubs.sm64ex = { }; nmt.script = '' assertFileContent \ home-files/.local/share/sm64pc/sm64config.txt \ ${ pkgs.writeText "sm64ex-expected-settings" '' env_volume 127 fullscreen true key_a 0026 1000 1103 key_b 0033 1002 1101 key_cdown 100c ffff ffff key_cleft 100d ffff ffff key_cright 100e ffff ffff key_cup 100b ffff ffff key_l 0034 1007 1104 key_r 0036 100a 1105 key_start 0039 1006 ffff key_stickdown 001f ffff ffff key_stickleft 001e ffff ffff key_stickright 0020 ffff ffff key_stickup 0011 ffff ffff key_z 0025 1009 1102 master_volume 127 music_volume 127 rumble_strength 10 sfx_volume 127 skip_intro 1 stick_deadzone 16 texture_filtering 1 vsync 1 window_h 1080 window_w 1920 window_x 0 window_y 0'' } ''; }; }