From 78529ae2641e8645ee3459753819d0ecff655d86 Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Sun, 7 Mar 2021 15:11:56 -0500 Subject: Refactor configs into modules --- modules/gaming.nix | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 modules/gaming.nix (limited to 'modules/gaming.nix') 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 + ]; + }; +} -- cgit v1.2.3