logiguard fork v3: full patch set on verified 8c74db0 tree

Includes prior-session patches (carry forward so the app compiles):
  - crates/gpui/build.rs: cross-compile manifest fix
  - crates/gpui/src/platform.rs: PlatformWindow::activate_with_token trait method
  - crates/gpui/src/window.rs: Window::activate_with_token public API
  - crates/gpui_linux/src/linux/wayland/window.rs: WaylandWindow::activate_with_token + activate() keyboard-serial fix

Plus the focus-serial fix:
  - serial.rs: SerialKind::KeyboardEnter
  - client.rs: store wl_keyboard.enter serial; latest_serial_of()

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Mohamad Khani
2026-07-14 01:52:12 +03:30
commit b9819977a5
3984 changed files with 1487015 additions and 0 deletions

79
nix/modules/devshells.nix Normal file
View File

@@ -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";
};
};
};
}

11
nix/modules/overlays.nix Normal file
View File

@@ -0,0 +1,11 @@
{ inputs, ... }:
{
flake.overlays.default =
final: _:
let
mkZed = import ../toolchain.nix { inherit inputs; };
in
{
zed-editor = mkZed final;
};
}

15
nix/modules/packages.nix Normal file
View File

@@ -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"; };
};
};
}

View File

@@ -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
];
};
};
}

10
nix/modules/treefmt.nix Normal file
View File

@@ -0,0 +1,10 @@
{
perSystem =
{ pkgs, ... }:
{
treefmt = {
programs.nixfmt.enable = true;
programs.rustfmt.enable = true;
};
};
}