From 2a1527fa427733cb4ba003dd6e293ec6cf62732c Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Wed, 29 Oct 2025 06:16:07 -0500 Subject: [PATCH] bruh --- modules/desktop.nix | 2 ++ modules/gaming.nix | 77 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) diff --git a/modules/desktop.nix b/modules/desktop.nix index 3290cf8..64518bd 100644 --- a/modules/desktop.nix +++ b/modules/desktop.nix @@ -250,6 +250,8 @@ in # Turn on flatpak services.flatpak.enable = true; + programs.appimage.enable = true; + programs.appimage.binfmt = true; # Configure keymap in X11 services.xserver.xkb.layout = "us"; diff --git a/modules/gaming.nix b/modules/gaming.nix index b863448..997cc58 100644 --- a/modules/gaming.nix +++ b/modules/gaming.nix @@ -1,11 +1,85 @@ { 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; @@ -18,6 +92,9 @@ with lib; protonup-qt winePackages.waylandFull winetricks + protontricks + zstd + (pkgs.callPackage jackify {}) # gamescope # cemu # yuzu