summaryrefslogtreecommitdiff
path: root/modules/gaming.nix
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2021-03-07 15:11:56 -0500
committerKjetil Orbekk <kj@orbekk.com>2021-03-07 15:11:56 -0500
commit78529ae2641e8645ee3459753819d0ecff655d86 (patch)
tree03f2f8e25ad0decd0f6dcd0a65664a8f7a90796a /modules/gaming.nix
parent46e1d2a1552d4aaad676faf49cb0582515d62c86 (diff)
Refactor configs into modules
Diffstat (limited to 'modules/gaming.nix')
-rw-r--r--modules/gaming.nix85
1 files changed, 85 insertions, 0 deletions
diff --git a/modules/gaming.nix b/modules/gaming.nix
new file mode 100644
index 0000000..431c1f5
--- /dev/null
+++ b/modules/gaming.nix
@@ -0,0 +1,85 @@
+{ 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
+ ];
+ 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
+ libsndfile libtheora libogg libvorbis libopus libGLU libpcap libpulseaudio
+ libao libusb libevdev udev libgcrypt libxml2 libusb libpng libmpeg2 libv4l
+ libjpeg libxkbcommon libass libcdio 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 libbsd
+ 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
+ ] ++ xorgdeps;
+ };
+ };
+
+in {
+ options = {
+ orbekk.gaming = {
+ enable = lib.mkEnableOption "Enable steam with overrides";
+ };
+ };
+
+ config = lib.mkIf cfg.enable {
+ nixpkgs.overlays = [ overlay ];
+
+ nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
+ "steam"
+ ];
+
+ programs.steam.enable = true;
+ hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
+
+ environment.systemPackages = with pkgs; [
+ wineWowPackages.staging
+ steam
+ steam.run
+ obs-studio
+ ];
+ };
+}