blob: ad562303f63fe76a7a0ea05d3db1eb327aeea4f1 (
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
|
{ config, lib, pkgs, ... }:
let
cfg = config.orbekk.gaming;
pkgs' = pkgs.unstable;
in {
options = {
orbekk.gaming = {
enable = lib.mkEnableOption "Enable steam with overrides";
};
};
config = lib.mkIf cfg.enable {
nixpkgs.overlays = [
(final: prev: {
steamPackages = pkgs'.steamPackages;
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;
};
})
];
# 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 ];
hardware.steam-hardware.enable = true;
environment.systemPackages = with pkgs; [
wineWowPackages.staging
steam
steam.run
obs-studio
unstable.rpcs3
];
};
}
|