gpu stuff for zed on x11

This commit is contained in:
John Lancaster
2026-06-10 08:56:04 -05:00
parent cd5a49c4a6
commit 1667e362aa
+31 -25
View File
@@ -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;
};
}; };
} }