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:
79
nix/modules/devshells.nix
Normal file
79
nix/modules/devshells.nix
Normal 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
11
nix/modules/overlays.nix
Normal 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
15
nix/modules/packages.nix
Normal 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"; };
|
||||
};
|
||||
};
|
||||
}
|
||||
25
nix/modules/partitions.nix
Normal file
25
nix/modules/partitions.nix
Normal 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
10
nix/modules/treefmt.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
perSystem =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
treefmt = {
|
||||
programs.nixfmt.enable = true;
|
||||
programs.rustfmt.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user