flake/programs/games.nix

42 lines
829 B
Nix

{ lib, pkgs, ... }:
let
osuSessionFile =
(pkgs.writeTextDir "share/wayland-sessions/osu.desktop" ''
[Desktop Entry]
Name=osu!
Comment=Free-to-win rhythm game
Exec=${lib.getExe pkgs.gamescope} -- ${lib.getExe pkgs.osu-lazer-bin}
Type=Application
'').overrideAttrs
{ passthru.providedSessions = [ "osu" ]; };
in
{
hardware = {
xone.enable = true;
xpadneo.enable = true;
};
hm.home.packages = with pkgs; [
obs-studio
osu-lazer-bin
(prismlauncher.override {
jdks = [
temurin-bin-21
temurin-bin-17
temurin-bin-8
];
})
];
programs = {
steam = {
enable = true;
gamescopeSession.enable = true;
};
gamemode.enable = true;
};
services.displayManager.sessionPackages = [ osuSessionFile ];
}