blob: 70cf221abbf287b4b6cd7dcad34a40821a536b4d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
{ config, lib, pkgs, ... }:
let
cfg = config.orbekk.gaming;
pkgs' = pkgs.unstable;
overlay = final: prev: {
steam = pkgs'.steam.override {
# nativeOnly = true;
withJava = true;
extraPkgs = p: with pkgs';
let xorgdeps = with xorg; [
libX11 libXrender libXrandr libxcb libXmu libpthreadstubs libXext libXdmcp
libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite
];
qt5Deps = with pkgs.qt5; [ qtbase qtmultimedia ];
gnome3Deps = with pkgs; [ gnome3.zenity gtksourceview gnome3.gnome-desktop gnome3.libgnome-keyring webkitgtk ];
in [
samba
tdb
glib-networking
libxkbcommon
fluidsynth hidapi mesa libdrm
perl which p7zip gnused gnugrep psmisc opencl-headers
cups lcms2 mpg123 cairo unixODBC samba4 sane-backends openldap ocl-icd utillinux
fribidi
libnghttp2
openssl
openldap
xorg.xrandr
xorg.xinput
gnome3.gtk
zlib
dbus
freetype
glib
atk
cairo
gdk_pixbuf
pango
fontconfig
xorg.libxcb
# libkrb5
nss
qt4
qt514.full
libjack2 jack2 jack2Full jack_capture
libidn2
rtmpdump
libpsl
# Common
libsndfile libtheora libogg libvorbis libopus libGLU libpcap libpulseaudio
libao libevdev udev libgcrypt libxml2 libusb-compat-0_1 libpng libmpeg2 libv4l
libjpeg libxkbcommon libass libcdio libjack2 libsamplerate libzip libmad libaio
libcap libtiff libva libgphoto2 libxslt libsndfile giflib zlib glib
alsaLib zziplib bash dbus keyutils zip cabextract freetype unzip coreutils
readline gcc SDL SDL2 curl graphite2 gtk2 gtk3 udev ncurses wayland libglvnd
vulkan-loader xdg-utils sqlite gnutls p11-kit libbsd harfbuzz
# PCSX15 // TODO: "libgobject12.15.so.16: wrong ELF class: ELFCLASS81"
# WINE
cups lcms2 mpg123 cairo unixODBC samba4 sane-backends openldap
ocl-icd util-linux libkrb5
# Proton
libselinux
# Winetricks
fribidi
] ++ xorgdeps ++ qt5Deps ++ gnome3Deps;
};
};
in {
options = {
orbekk.gaming = {
enable = lib.mkEnableOption "Enable steam with overrides";
};
};
config = lib.mkIf cfg.enable {
nixpkgs.overlays = [ overlay ];
# nixpkgs.config.allowBroken = true;
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"steam"
];
services.flatpak.enable = true;
programs.steam.enable = true;
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
environment.systemPackages = with pkgs; [
wineWowPackages.staging
steam
steam.run
obs-studio
];
};
}
|