gpu stuff for zed on x11
This commit is contained in:
@@ -1,33 +1,39 @@
|
|||||||
{ self, inputs, ... }:
|
{ self, ... }:
|
||||||
let
|
let
|
||||||
packageName = "zed-editor";
|
packageName = "zed-editor";
|
||||||
|
vulkanIcd = "/usr/share/vulkan/icd.d/nvidia_icd.json";
|
||||||
zedWrapper = inputs.wrappers.lib.wrapModule ({ config, lib, wlib, ... }: {
|
eglVendor = "/usr/share/glvnd/egl_vendor.d/10_nvidia.json";
|
||||||
options = {
|
|
||||||
text-to-say = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
description = "Text for the ascii cow to say.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = {
|
|
||||||
binName = "my-pkg";
|
|
||||||
package = config.pkgs.cowsay;
|
|
||||||
args = [ config.text-to-say ];
|
|
||||||
};
|
|
||||||
});
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
perSystem = { system, pkgs, lib, ... }: {
|
perSystem = { pkgs, ... }: {
|
||||||
packages."${packageName}" = (zedWrapper.apply {
|
packages."${packageName}" = pkgs.symlinkJoin {
|
||||||
inherit pkgs;
|
name = "zed-editor-host-gpu";
|
||||||
text-to-say = "Hello from wrapped module!";
|
paths = [ pkgs.zed-editor ];
|
||||||
}).wrapper;
|
nativeBuildInputs = [ pkgs.makeWrapper ];
|
||||||
|
meta = pkgs.zed-editor.meta // {
|
||||||
|
mainProgram = "zeditor";
|
||||||
|
};
|
||||||
|
postBuild = ''
|
||||||
|
for exe in $out/bin/*; do
|
||||||
|
wrapProgram "$exe" \
|
||||||
|
--unset WAYLAND_DISPLAY \
|
||||||
|
--unset GDK_BACKEND \
|
||||||
|
--set VK_DRIVER_FILES ${vulkanIcd} \
|
||||||
|
--set VK_ICD_FILENAMES ${vulkanIcd} \
|
||||||
|
--set __EGL_VENDOR_LIBRARY_FILENAMES ${eglVendor} \
|
||||||
|
--set __GLX_VENDOR_LIBRARY_NAME nvidia
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
flake.modules.homeManager."${packageName}" = { config, pkgs, lib, ... }: {
|
flake.modules.homeManager.zed-editor = { pkgs, ... }: {
|
||||||
home.packages = [
|
home.packages = [ pkgs.vulkan-tools ];
|
||||||
inputs.self.packages.${pkgs.stdenv.hostPlatform.system}."${packageName}"
|
|
||||||
];
|
programs.zed-editor = {
|
||||||
|
enable = true;
|
||||||
|
package = self.packages.${pkgs.stdenv.hostPlatform.system}."${packageName}";
|
||||||
|
installRemoteServer = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user