dotfiles/modules/gaming.nix
2025-10-29 06:16:07 -05:00

107 lines
2.4 KiB
Nix

{ pkgs, lib, config, ... }:
let
jackify = {
appimageTools,
fetchurl,
lib,
}:
let
version = "0.1.6.4";
pname = "Jackify";
id = "com.jackify.app";
src = fetchurl {
url = "https://github.com/Omni-guides/Jackify/releases/download/v${version}/${pname}.AppImage";
hash = "sha256-TzdeRJGjhJOLkAZ+STWYJbeVoKddSxY5uE6g5AGzzNU=";
};
appimageContents = appimageTools.extract { inherit pname version src; };
in
appimageTools.wrapType2 {
inherit pname version src;
extraPkgs =
pkgs:
(with pkgs; [
icu
zstd
]);
extraInstallCommands = ''
install -Dm444 ${appimageContents}/${id}.desktop -t $out/share/applications
install -Dm444 ${appimageContents}/${id}.png -t $out/share/pixmaps
'';
meta = {
description = "A modlist installation and configuration tool for Wabbajack modlists on Linux";
homepage = "https://github.com/Omni-guides/Jackify";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ merrkry ];
platforms = lib.platforms.linux;
};
};
in
with lib;
{
hardware.graphics = {
# driSupport = true;
enable32Bit = true;
};
programs.nix-ld.libraries = with pkgs;
(steam-run.args.multiPkgs pkgs)
++ (heroic.args.multiPkgs pkgs)
++ (lutris.args.multiPkgs pkgs)
++ [
alsa-lib
dbus
glibc
gst_all_1.gstreamer
gst_all_1.gst-libav
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-ugly
gst_all_1.gst-vaapi
gtk3
icu
libcap
libxcrypt
libGL
libdrm
libudev0-shim
libva
mesa
networkmanager
pkg-config
xorg.libX11
xorg.libXext
udev
vulkan-loader
zstd
];
programs.steam = {
enable = true;
gamescopeSession.enable = true;
};
programs.gamemode.enable = true;
environment.systemPackages = with pkgs; [
airshipper
lutris
heroic
protonup-qt
winePackages.waylandFull
winetricks
protontricks
zstd
(pkgs.callPackage jackify {})
# gamescope
# cemu
# yuzu
mangohud
openmw
dwarfs
fuse-overlayfs
steam-run
];
}