dotfiles/home-manager/home-yarn.nix

83 lines
1.6 KiB
Nix

{
pkgs,
inputs,
lib,
config,
...
}:
{
imports = [
./gui.nix
./desktop.nix
];
home.packages = with pkgs; [
protontricks
# https://github.com/NixOS/nixpkgs/pull/339370#issuecomment-2731336341
bs-manager
# Steam session scripts
(writeShellScriptBin "steam-session" ''
#!/usr/bin/env bash
set -xeuo pipefail
gamescopeArgs=(
--adaptive-sync # VRR support
--hdr-enabled
--mangoapp # performance overlay
--rt
--steam
)
steamArgs=(
-pipewire-dmabuf
-tenfoot
)
mangoConfig=(
cpu_temp
gpu_temp
ram
vram
)
mangoVars=(
MANGOHUD=1
MANGOHUD_CONFIG="$(IFS=,; echo "''${mangoConfig[*]}")"
)
export "''${mangoVars[@]}"
exec gamescope "''${gamescopeArgs[@]}" -- steam "''${steamArgs[@]}"
'')
(writeShellScriptBin "steam-session-greetd" ''
#!/usr/bin/env bash
set -xeuo pipefail
# Set environment variables for Steam gaming session
export STEAM_RUNTIME=1
export SDL_VIDEODRIVER=wayland
export QT_QPA_PLATFORM=wayland
export GDK_BACKEND=wayland
export XDG_CURRENT_DESKTOP=Steam
export XDG_SESSION_TYPE=wayland
# Kill any existing compositor
pkill niri || true
# Start Steam in Big Picture mode with gamescope
exec steam-session
'')
];
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
wlrobs
obs-backgroundremoval
obs-pipewire-audio-capture
];
};
}