{ 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" "steamcmd" "steam-original" "steam-runtime" "minecraft-launcher" ]; 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 ]; }; }