logiguard fork v2: patched GPUI on verified 8c74db0 tree
Rebuilt from the exact zed-industries/zed @ 8c74db00c4053d6c0a9037863d7bd048658da4ca tree (previous orphan was based on a stale/wrong fetch). Same 3-file patch: - serial.rs: add SerialKind::KeyboardEnter - client.rs: store wl_keyboard.enter serial; add latest_serial_of() - window.rs: activate() uses keyboard-enter serial (Mutter focus gate) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
{ inputs, ... }:
|
||||
{
|
||||
perSystem =
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
# NOTE: Duplicated because this is in a separate flake-parts partition
|
||||
# than ./packages.nix
|
||||
mkZed = import ../toolchain.nix { inherit inputs; };
|
||||
zed-editor = mkZed pkgs;
|
||||
|
||||
rustBin = inputs.rust-overlay.lib.mkRustBin { } pkgs;
|
||||
rustToolchain = rustBin.fromRustupToolchainFile ../../rust-toolchain.toml;
|
||||
|
||||
baseEnv =
|
||||
(zed-editor.overrideAttrs (attrs: {
|
||||
passthru.env = attrs.env;
|
||||
})).env; # exfil `env`; it's not in drvAttrs
|
||||
|
||||
# Musl cross-compiler for building remote_server
|
||||
muslCross = pkgs.pkgsCross.musl64;
|
||||
|
||||
# Cargo build timings wrapper script
|
||||
wrappedCargo = pkgs.writeShellApplication {
|
||||
name = "cargo";
|
||||
runtimeInputs = [ pkgs.nodejs ];
|
||||
text =
|
||||
let
|
||||
pathToCargoScript = ./. + "/../../script/cargo";
|
||||
in
|
||||
''
|
||||
NIX_WRAPPER=1 CARGO=${rustToolchain}/bin/cargo ${pathToCargoScript} "$@"
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
devShells.default = (pkgs.mkShell.override { inherit (zed-editor) stdenv; }) {
|
||||
name = "zed-editor-dev";
|
||||
inputsFrom = [ zed-editor ];
|
||||
|
||||
packages = with pkgs; [
|
||||
wrappedCargo # must be first, to shadow the `cargo` provided by `rustToolchain`
|
||||
rustToolchain # cargo, rustc, and rust-toolchain.toml components included
|
||||
cargo-nextest
|
||||
cargo-hakari
|
||||
cargo-machete
|
||||
cargo-zigbuild
|
||||
# TODO: package protobuf-language-server for editing zed.proto
|
||||
# TODO: add other tools used in our scripts
|
||||
|
||||
# `build.nix` adds this to the `zed-editor` wrapper (see `postFixup`)
|
||||
# we'll just put it on `$PATH`:
|
||||
nodejs_22
|
||||
zig
|
||||
];
|
||||
|
||||
env =
|
||||
(removeAttrs baseEnv [
|
||||
"LK_CUSTOM_WEBRTC" # download the staticlib during the build as usual
|
||||
"ZED_UPDATE_EXPLANATION" # allow auto-updates
|
||||
"CARGO_PROFILE" # let you specify the profile
|
||||
"TARGET_DIR"
|
||||
])
|
||||
// {
|
||||
# note: different than `$FONTCONFIG_FILE` in `build.nix` – this refers to relative paths
|
||||
# outside the nix store instead of to `$src`
|
||||
FONTCONFIG_FILE = pkgs.makeFontsConf {
|
||||
fontDirectories = [
|
||||
"./assets/fonts/lilex"
|
||||
"./assets/fonts/ibm-plex-sans"
|
||||
];
|
||||
};
|
||||
PROTOC = "${pkgs.protobuf}/bin/protoc";
|
||||
ZED_ZSTD_MUSL_LIB = "${pkgs.pkgsCross.musl64.pkgsStatic.zstd.out}/lib";
|
||||
# For aws-lc-sys musl cross-compilation
|
||||
CC_x86_64_unknown_linux_musl = "${muslCross.stdenv.cc}/bin/x86_64-unknown-linux-musl-gcc";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{ inputs, ... }:
|
||||
{
|
||||
flake.overlays.default =
|
||||
final: _:
|
||||
let
|
||||
mkZed = import ../toolchain.nix { inherit inputs; };
|
||||
in
|
||||
{
|
||||
zed-editor = mkZed final;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{ inputs, ... }:
|
||||
{
|
||||
perSystem =
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
mkZed = import ../toolchain.nix { inherit inputs; };
|
||||
zed-editor = mkZed pkgs;
|
||||
in
|
||||
{
|
||||
packages = {
|
||||
default = zed-editor;
|
||||
debug = zed-editor.override { profile = "dev"; };
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{ inputs, ... }:
|
||||
{
|
||||
imports = [
|
||||
inputs.flake-parts.flakeModules.partitions
|
||||
];
|
||||
|
||||
partitionedAttrs = {
|
||||
devShells = "dev";
|
||||
formatter = "dev";
|
||||
checks = "dev";
|
||||
};
|
||||
|
||||
partitions.dev = {
|
||||
extraInputsFlake = ../dev;
|
||||
module =
|
||||
{ inputs, ... }:
|
||||
{
|
||||
imports = [
|
||||
inputs.treefmt-nix.flakeModule
|
||||
./devshells.nix
|
||||
./treefmt.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
perSystem =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
treefmt = {
|
||||
programs.nixfmt.enable = true;
|
||||
programs.rustfmt.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user