I have recently started configuring some of my games using nix. I'm pretty pleased with the results so far!
Deadlock
Deadlock has been one of my favorite games in the past year. For the most part it runs well on Linux, but I did have a period where I tinkered with different proton versions and launch options quite a bit. I have now found steam-config-nix which allows me to set my launch options in my flake!
_ : { programs . steam . config . apps . deadlock = { id = 1422450 ; compatTool = "GE-Proton" ; launchOptions = ''LD_PRELOAD="" gamemoderun %command% -no_prewarm_map'' ; }; }
Counter Strike
Counter-Strike runs great natively on Linux, no extra configuration required. For this game I wanted to have my keybinds set so my sensitivity and utility hotkeys are always set up for me:
_ : { home . file . ".local/share/Steam/steamapps/common/Counter-Strike Global Offensive/game/csgo/cfg/autoexec.cfg" . text = '' unbindall // Mouse Look m_yaw "0.022" m_pitch "0.022" cl_mouselook "1" bind "MOUSE_X" "yaw" bind "MOUSE_Y" "pitch" bind "MOUSE1" "+attack" bind "MOUSE2" "+attack2" bind "MOUSE3" "player_ping" // Middle click = ping bind "MOUSE5" "+lookatweapon" // Front side button = inspect // Movement bind "w" "+forward" bind "a" "+left" bind "s" "+back" bind "d" "+right" bind "SPACE" "+jump" bind "MWHEELDOWN" "+jump" bind "CTRL" "+duck" bind "SHIFT" "+sprint" // Weapon Actions bind "r" "+reload" bind "q" "drop" bind "e" "+use" // Weapon Slots bind "1" "slot1" bind "2" "slot2" bind "3" "slot3" bind "4" "slot4" bind "5" "slot5" // Comms bind "b" "buymenu" bind "TAB" "+showscores" bind "v" "+voicerecord" bind "`" "toggleconsole" bind "ESCAPE" "cancelselect" // Grenades bind "z" "slot10" // Molotov/Incendiary bind "x" "slot9" // Decoy bind "c" "slot8" // Smoke bind "g" "slot6" // HE Grenade bind "f" "slot7" // Flashbang cl_radar_square_always "1" sensitivity "0.75" // Sound - mute all except MVP and bomb snd_deathcamera_volume "0" snd_menumusic_volume "0" snd_mvp_volume "0.35" snd_roundaction_volume "0" snd_roundend_volume "0" snd_roundstart_volume "0" snd_bombvolume "0.35" snd_tensecondwarning_volume "0" ''; }