2022-02-18 20:31:01 +03:00
|
|
|
_: prev: let
|
2021-08-21 18:57:52 +03:00
|
|
|
pkgs = prev;
|
|
|
|
lib = pkgs.lib;
|
|
|
|
vscodeWayland =
|
|
|
|
let
|
|
|
|
flags = [
|
|
|
|
"--flag-switches-begin"
|
2021-08-22 20:54:38 +03:00
|
|
|
"--enable-features=UseOzonePlatform,WebRTCPipeWireCapturer,IgnoreGPUBlocklist"
|
2021-08-21 18:57:52 +03:00
|
|
|
"--flag-switches-end"
|
|
|
|
"--ozone-platform=wayland"
|
|
|
|
"--enable-webrtc-pipewire-capturer"
|
|
|
|
"--ignore-gpu-blocklist"
|
|
|
|
"--enable-gpu-rasterization"
|
|
|
|
"--enable-zero-copy"
|
|
|
|
"--disable-gpu-driver-bug-workarounds"
|
|
|
|
];
|
|
|
|
in
|
2022-02-18 20:31:01 +03:00
|
|
|
pkgs.writeScriptBin
|
|
|
|
"vscode-wayland"
|
|
|
|
''
|
|
|
|
#!${pkgs.stdenv.shell}
|
|
|
|
${pkgs.vscode}/bin/code ${lib.concatStringsSep " " flags}
|
|
|
|
'';
|
|
|
|
in {
|
2021-08-21 18:57:52 +03:00
|
|
|
vscodeWayland =
|
|
|
|
let
|
|
|
|
pname = "vscode";
|
2022-02-18 20:31:01 +03:00
|
|
|
desktop =
|
|
|
|
pkgs.makeDesktopItem
|
|
|
|
{
|
|
|
|
name = pname;
|
|
|
|
exec = pname;
|
|
|
|
icon = "vscode";
|
|
|
|
desktopName = "VSCode Wayland";
|
|
|
|
};
|
2021-08-21 18:57:52 +03:00
|
|
|
in
|
2022-02-18 20:31:01 +03:00
|
|
|
lib.hiPrio
|
|
|
|
(
|
|
|
|
pkgs.stdenv.mkDerivation
|
|
|
|
{
|
|
|
|
inherit pname;
|
|
|
|
version = pkgs.vscode.version;
|
|
|
|
nativeBuildInputs = [pkgs.makeWrapper];
|
|
|
|
phases = [
|
|
|
|
"installPhase"
|
|
|
|
/*
|
|
|
|
"fixupPhase"
|
|
|
|
*/
|
|
|
|
];
|
|
|
|
installPhase =
|
|
|
|
''
|
|
|
|
mkdir -p $out/bin
|
|
|
|
install -m755 ${vscodeWayland}/bin/${pname}-wayland $out/bin/${pname}
|
|
|
|
cp -r ${desktop}/share $out/share
|
|
|
|
'';
|
|
|
|
/*
|
|
|
|
fixupPhase = ''
|
|
|
|
wrapProgram $out/bin/${pname} \
|
|
|
|
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath (with pkgs; [ vulkan-loader vulkan-extension-layer libGL ])}
|
|
|
|
'';
|
|
|
|
*/
|
|
|
|
}
|
|
|
|
);
|
2021-08-21 18:57:52 +03:00
|
|
|
}
|