{
  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;
    };
  };

  nmt.script = ''
    assertFileContent \
      home-files/.local/share/sm64pc/sm64config.txt \
      ${builtins.toFile "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''}
  '';
}
