Change:
The "Studio" option is not working in Vinegar. The application does download, the application does launch. However, once it is open, the window is almost unusable. Steps to reproduce the behavior: vinegar from nixpkgs (unstable) in the terminal the mess in front of your eyes... So, instead of getting the usual Studio look, I see the username, question cicrle, notification bell, and "FILE" buttons (all of the mentioned buttons do work, so I AM able to click on them and get a popup, as well as use the options from there, as well as hover effects). Everything else looks like a badly margined css page. (Replaced the actual username with "username" in the picture below, might not be perfectly aligned, just to make no misconceptions, the button IS properly aligned in the original image!) !
I was able to reproduce this, and I believe is the issue you are getting. The Vinegar wiki states that you need the patch to fix this issue, however the problem is that all the upstream vinegar patches are on an older version of wine (except for the patch which was rebased to 9.0rc2). Currently the Vinegar team is working on porting these patches to 9.0 stable.
I see, thank you. Unless you told me not to, I'll leave the issue until it is resolved (mostly so that people know what's going on, in case they're experiencing it as well).
Also, if you want to test studio out for now, you can get wine-ge from the nix-gaming flake and override the vinegar package with it.
Oh, thank you. I'm not quite sure how to override vinegar's wine though.. Here is what fellas who were nice enough to help me came up with: And it does build. However, when I run , here's the bunch of nonsense I get:
need to also be overriden:
Oh, got it! Thank you

Discussion:
<del> { lib , buildGoModule , fetchFromGitHub , makeBinaryWrapper , pkg-config , libGL , libxkbcommon , xorg , wayland , vulkan-headers , wine64Packages , fetchpatch , fetchFromGitLab , fetchurl , }: let stagingPatch = fetchFromGitLab { sha256 = "sha256-VQ4j4PuXRoXbCUZ16snVO+jRvuKD4Rjn14R7bhwdAco="; domain = "gitlab.winehq.org"; owner = "wine"; repo = "wine-staging"; rev = "v9.2"; }; wine = wine64Packages.staging.overrideDerivation (oldAttrs: { prePatch = '' patchShebangs tools cp -r ${stagingPatch}/patches ${stagingPatch}/staging . chmod +w patches patchShebangs ./patches/gitapply.sh python3 ./staging/patchinstall.py --destdir="$PWD" --all ''; patches = (oldAttrs.patches or [ ]) ++ [ (fetchurl { name = "childwindow.patch"; hash = "sha256-u3mDvlbhQnfh2tUKb8jNJA0tTcLIaKVLfY8ktJmeRns="; url = "https://raw.githubusercontent.com/flathub/org.vinegarhq.Vinegar/9f43ce33a691afb50562d95adfc6719a3b58ddb7/patches/wine/childwindow.patch"; }) (fetchpatch { name = "mouselock.patch"; hash = "sha256-0AGA4AQbxTL5BGVbm072moav7xVA3zpotYqM8pcEDa4="; url = "https://raw.githubusercontent.com/flathub/org.vinegarhq.Vinegar/9f43ce33a691afb50562d95adfc6719a3b58ddb7/patches/wine/mouselock.patch"; }) (fetchpatch { name = "segregrevert.patch"; hash = "sha256-+3Nld81nG3GufI4jAF6yrWfkJmsSCOku39rx0Hov29c="; url = "https://raw.githubusercontent.com/flathub/org.vinegarhq.Vinegar/9f43ce33a691afb50562d95adfc6719a3b58ddb7/patches/wine/segregrevert.patch"; }) ]; src = fetchFromGitLab rec { sha256 = "sha256-GlPH34dr9aHx7xvlcbtDMn/wrY//DP58ilXjhQXgihQ="; domain = "gitlab.winehq.org"; owner = "wine"; repo = "wine"; rev = "wine-9.2"; }; }); in buildGoModule rec { pname = "vinegar"; version = "1.7.5"; src = fetchFromGitHub { owner = "vinegarhq"; repo = "vinegar"; rev = "v${version}"; hash = "sha256-eU6xlmgz8X7q51GSkQlz/kEQgTzzXYw5P6Yr47f7hbs="; }; vendorHash = "sha256-O2AQFcJmYY3FtLXB3BPdzsplFbthYEyasfctpPOQVhs="; nativeBuildInputs = [ pkg-config makeBinaryWrapper ]; buildInputs = [ libGL libxkbcommon xorg.libX11 xorg.libXcursor xorg.libXfixes wayland vulkan-headers wine ]; buildPhase = '' runHook preBuild make PREFIX=$out runHook postBuild ''; installPhase = '' runHook preInstall make PREFIX=$out install runHook postInstall ''; postInstall = '' wrapProgram $out/bin/vinegar  --prefix PATH : ${lib.makeBinPath [wine]} ''; meta = with lib; { description = "Open-source, minimal, configurable, fast bootstrapper for running Roblox on Linux"; homepage = "https://github.com/vinegarhq/vinegar"; changelog = "https://github.com/vinegarhq/vinegar/releases/tag/v${version}"; mainProgram = "vinegar"; license = licenses.gpl3Only; platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ nyanbinary ]; }; } </del>

<del> { lib , fetchFromGitLab , gobject-introspection , pciutils , python3Packages , gtk3 , wrapGAppsHook3 , glib , cairo , desktop-file-utils , xdg-utils , xdg-user-dirs , gettext , winetricks , wine , glxinfo , xrandr , bash }: python3Packages.buildPythonApplication rec  { pname = "grapejuice"; version = "7.20.11"; src = fetchFromGitLab { owner = "BrinkerVII"; repo = "grapejuice"; rev = "v${version}"; hash = "sha256-sDw67Xseeak1v5x0daznfdeNQahDTj21AVvXmuZlsgg="; }; nativeBuildInputs = [ gobject-introspection desktop-file-utils glib wrapGAppsHook3 python3Packages.pip ]; buildInputs = [ cairo gettext gtk3 bash ]; propagatedBuildInputs = with python3Packages; [ psutil dbus-python pygobject3 packaging wheel setuptools requests unidecode click pydantic ]; dontWrapGApps = true; makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ xdg-user-dirs wine winetricks pciutils glxinfo xrandr ]}" # make xdg-open overrideable at runtime "--suffix PATH : ${lib.makeBinPath [ xdg-utils ]}" ]; postPatch = '' substituteInPlace src/grapejuice_common/assets/desktop/grapejuice.desktop  --replace $GRAPEJUICE_EXECUTABLE "$out/bin/grapejuice"  --replace $GRAPEJUICE_GUI_EXECUTABLE "$out/bin/grapejuice-gui"  --replace $GRAPEJUICE_ICON grapejuice substituteInPlace src/grapejuice_common/assets/desktop/roblox-player.desktop  --replace $GRAPEJUICE_EXECUTABLE "$out/bin/grapejuice"  --replace $PLAYER_ICON "grapejuice-roblox-player" substituteInPlace src/grapejuice_common/assets/desktop/roblox-app.desktop  --replace $GRAPEJUICE_EXECUTABLE "$out/bin/grapejuice"  --replace $PLAYER_ICON "grapejuice-roblox-player" substituteInPlace src/grapejuice_common/assets/desktop/roblox-studio.desktop src/grapejuice_common/assets/desktop/roblox-studio-auth.desktop  --replace $GRAPEJUICE_EXECUTABLE "$out/bin/grapejuice"  --replace $STUDIO_ICON "grapejuice-roblox-studio" substituteInPlace src/grapejuice_common/paths.py  --replace 'return local_share() / "locale"' 'return Path("${placeholder "out"}/share/locale")' substituteInPlace src/grapejuice_common/models/settings_model.py  --replace 'default_wine_home: Optional[str] = ""' 'default_wine_home: Optional[str] = "${wine}"' substituteInPlace src/grapejuice_packaging/builders/linux_package_builder.py  --replace '"--no-dependencies",' '"--no-dependencies", "--no-build-isolation",' substituteInPlace src/grapejuice_packaging/packaging_resources/bin/grapejuice src/grapejuice_packaging/packaging_resources/bin/grapejuice-gui  --replace "/usr/bin/env python3" "${python3Packages.python.interpreter}" ''; installPhase = '' runHook preInstall PYTHONPATH=$(pwd)/src:$PYTHONPATH python3 -m grapejuice_packaging linux_package mkdir -p "$out" "$out/${python3Packages.python.sitePackages}" tar -xvf ./dist/linux_package/grapejuice-''${version}.tar.gz --strip-components=1 -C "$out" mv "$out/lib/python3/dist-packages/"* "$out/${python3Packages.python.sitePackages}" rmdir --ignore-fail-on-non-empty -p "$out/lib/python3/dist-packages" runHook postInstall ''; postFixup = '' patchShebangs "$out/bin/grapejuice{,-gui}" buildPythonPath "$out $pythonPath" for bin in grapejuice grapejuice-gui; do wrapProgram "$out/bin/$bin"  --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)"  ''${makeWrapperArgs[@]}  ''${gappsWrapperArgs[@]} done ''; # No tests doCheck = false; pythonImportsCheck = [ "grapejuice" ]; meta = with lib; { homepage = "https://gitlab.com/brinkervii/grapejuice"; description = "Simple Wine+Roblox management tool"; license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = with maintainers; [ artturin helium ]; }; } </del>

gradle_5 = throw "gradle_5 has been removed because it's no longer being updated"; # Added 2023-01-17 grafana_reporter = grafana-reporter; # Added 2024-06-09 gr-ais = throw "'gr-ais' has been renamed to/replaced by 'gnuradio3_7.pkgs.ais'"; # Converted to throw 2023-09-10 <ins> grapefruit = throw "'grapefruit' was removed due to being blocked by Roblox, rendering the package useless"; # Added 2024-08-23 </ins> graylog = throw "graylog is now available in versions 3.3 up to 5.0. Please mind the upgrade path and choose the appropriate version. Direct upgrading from 3.3 to 4.3 or above is not supported"; # Added 2023-04-24 graylog-3_3 = throw "graylog 3.x is EOL. Please consider downgrading nixpkgs if you need an upgrade from 3.x to latest series."; # Added 2023-10-09 graylog-4_0 = throw "graylog 4.x is EOL. Please consider downgrading nixpkgs if you need an upgrade from 4.x to latest series."; # Added 2023-10-09

vikunja-frontend = throw "'vikunja-frontend' has been replaced by 'vikunja'"; # Added 2024-02-19 vimHugeX = vim-full; # Added 2022-12-04 vim_configurable = vim-full; # Added 2022-12-04 <ins> vinegar = throw "'vinegar' was removed due to being blocked by Roblox, rendering the package useless"; # Added 2024-08-23 </ins> virtmanager = throw "'virtmanager' has been renamed to/replaced by 'virt-manager'"; # Converted to throw 2023-09-10 virtmanager-qt = throw "'virtmanager-qt' has been renamed to/replaced by 'virt-manager-qt'"; # Converted to throw 2023-09-10 vivaldi-widevine = throw "'vivaldi-widevine' has been renamed to/replaced by 'widevine-cdm'"; # Added 2023-02-25

qtads = qt5.callPackage ../games/qtads { }; <del> grapejuice = callPackage ../games/grapejuice { wine = wineWowPackages.unstable; }; </del> graphwar = callPackage ../games/graphwar { }; gtypist = callPackage ../games/gtypist { };