update nix & project files to use mold

This commit is contained in:
OMGeeky
2025-04-13 14:21:51 +02:00
parent 9909890315
commit 3736cfc5ab
3 changed files with 20 additions and 5 deletions

11
.cargo/config.toml Normal file
View File

@@ -0,0 +1,11 @@
# Target specification ensures these settings apply only when building for this architecture.
[target.x86_64-unknown-linux-gnu]
# Tell rustc to use 'clang' (from nativeBuildInputs) as the linker driver.
linker = "clang"
# Pass flags to rustc (-C flag).
# 'link-arg' passes the subsequent argument directly to the linker driver ('clang').
# '-fuse-ld=mold' tells clang to use the 'mold' executable as the actual linker.
# Nix ensures the 'mold' found in PATH is the wrapped version from 'mold-wrapped'.
rustflags = ["-C", "link-arg=-fuse-ld=mold"]

View File

@@ -26,7 +26,3 @@ inherits = "release"
opt-level = "s"
# Strip all debugging information from the binary to slightly reduce file size.
strip = "debuginfo"
[target.x86_64-unknown-linux-gnu]
linker = "clang"
rustflags = ["-C", "link-arg=-fuse-ld=/usr/bin/mold"]

View File

@@ -1,15 +1,23 @@
{ pkgs ? import <nixpkgs> { } }:
{ pkgs? import <nixpkgs> { } }:
with pkgs;
mkShell rec {
# Tools needed to build the project
nativeBuildInputs = [
pkg-config
# Add the wrapped mold linker
mold-wrapped
# Add clang, needed to drive mold via -fuse-ld=
llvmPackages.clang # Or just `clang`
];
# Libraries the project links against or needs at runtime
buildInputs = [
udev alsa-lib vulkan-loader
xorg.libX11 xorg.libXcursor xorg.libXi xorg.libXrandr # To use the x11 feature
libxkbcommon wayland # To use the wayland feature
];
LD_LIBRARY_PATH = lib.makeLibraryPath buildInputs;
}