From 5514de1187b4fc078747279f24582734e15f25f6 Mon Sep 17 00:00:00 2001 From: Mg Pig Date: Tue, 29 Jul 2025 00:26:05 +0800 Subject: [PATCH] chore: update flake configuration (#1163) --- .gitignore | 1 + CONTRIBUTING.md | 2 +- CONTRIBUTING_zh.md | 2 +- flake.lock | 12 ++++++------ flake.nix | 31 ++++++++++++++++++++++--------- 5 files changed, 31 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 49f5dab..642375d 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ target-*/ .vscode /.idea +/.direnv/ # perf & flamegraph perf.data diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3fb64b8..3118525 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -37,7 +37,6 @@ Thank you for your interest in contributing to EasyTier! This document provides # Core build dependencies sudo apt-get update && sudo apt-get install -y \ musl-tools \ - libappindicator3-dev \ llvm \ clang \ protobuf-compiler @@ -53,6 +52,7 @@ sudo apt install -y \ librsvg2-dev \ libxdo-dev \ libssl-dev \ + libappindicator3-dev \ patchelf # Testing dependencies diff --git a/CONTRIBUTING_zh.md b/CONTRIBUTING_zh.md index c2cbea0..7eb0435 100644 --- a/CONTRIBUTING_zh.md +++ b/CONTRIBUTING_zh.md @@ -45,7 +45,6 @@ # 核心构建依赖 sudo apt-get update && sudo apt-get install -y \ musl-tools \ - libappindicator3-dev \ llvm \ clang \ protobuf-compiler @@ -61,6 +60,7 @@ sudo apt install -y \ librsvg2-dev \ libxdo-dev \ libssl-dev \ + libappindicator3-dev \ patchelf # 测试依赖 diff --git a/flake.lock b/flake.lock index ad1125c..a4cb51b 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1750741721, - "narHash": "sha256-Z0djmTa1YmnGMfE9jEe05oO4zggjDmxOGKwt844bUhE=", + "lastModified": 1753429684, + "narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4b1164c3215f018c4442463a27689d973cffd750", + "rev": "7fd36ee82c0275fb545775cc5e4d30542899511d", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1750905536, - "narHash": "sha256-Mo7yXM5IvMGNvJPiNkFsVT2UERmnvjsKgnY6UyDdySQ=", + "lastModified": 1753671061, + "narHash": "sha256-IU4eBWfe9h2QejJYST+EAlhg8a1H6mh9gbcmWgZ2/mQ=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "2fa7c0aabd15fa0ccc1dc7e675a4fcf0272ad9a1", + "rev": "40065d17ee4dbec3ded8ca61236132aede843fab", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index ceb754e..948b4f0 100644 --- a/flake.nix +++ b/flake.nix @@ -10,35 +10,48 @@ }; }; - outputs = { self, nixpkgs, flake-utils, rust-overlay }: + outputs = { self, nixpkgs, flake-utils, rust-overlay, ... }: flake-utils.lib.eachDefaultSystem (system: let overlays = [ (import rust-overlay) ]; pkgs = import nixpkgs { inherit system overlays; }; - - lib = nixpkgs.lib; - - rust = pkgs.rust-bin.stable.latest.default.override { + rustVersion = "1.87.0"; + rust = pkgs.rust-bin.stable.${rustVersion}.default.override{ extensions = [ "rust-src" "rust-analyzer" ]; }; in { - devShells.default = pkgs.mkShell { + devShells.default = pkgs.mkShell rec { nativeBuildInputs = with pkgs; [ rust - pkg-config protobuf - ]; + clang + pkg-config + # web + nodejs_22 + pnpm + ]; buildInputs = with pkgs; [ zstd + openssl + libclang + llvmPackages.libclang + + # gui + webkitgtk_4_1 + libsoup_3 ]; + RUST_SRC_PATH = "${rust}/lib/rustlib/src/rust/library"; LIBCLANG_PATH = "${pkgs.libclang.lib}/lib"; + BINDGEN_EXTRA_CLANG_ARGS = "-I${pkgs.clang}/resource-root/include"; + LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath (buildInputs ++ nativeBuildInputs); ZSTD_SYS_USE_PKG_CONFIG = true; KCP_SYS_EXTRA_HEADER_PATH = "${pkgs.libclang.lib}/lib/clang/19/include:${pkgs.glibc.dev}/include"; }; - }); + } + ); }