Files
dotfiles-modules/modules/gaming/steam.nix
T

28 lines
934 B
Nix

{ ... }: {
flake.modules.nixos.steam = { ... }: {
programs.steam.enable = true;
};
# requires dotfiles-modules.modules.nixos.hyprland to function
# this is also only compatible with a home on the qepc system
flake.modules.homeManager.qepc-steamtv = { pkgs, ... }: {
dotfiles-modules.hyprland.extraConfig =
let
audioDeviceSearchTerm = "SONY TV";
script = pkgs.writeShellScriptBin "switch-to-steam-tv" ''
nu -c 'wpctl set-default (wpctl status | lines | where ($it | str contains "${audioDeviceSearchTerm}") | str replace -r "│\\s*(\\d+).*" "$1" | first)'
killall steam
${pkgs.gamescope}/bin/gamescope -W 2560 -H 1440 -f -e -- steam -bigpicture
'';
in
''
hl.bind(MainMod .. "+ SHIFT + G",
hl.dsp.exec_cmd(
"${script}/bin/switch-to-steam-tv",
{ workspace = "9" }
)
)
'';
};
}