From ba97f63841843bb20514cbe7f1310b4b81d3546c Mon Sep 17 00:00:00 2001 From: randogoth Date: Wed, 7 Oct 2026 19:45:20 +0300 Subject: [PATCH] feat: make devbox.json cross-platform for GTK4/libadwaita Linux now gets gtk4/libadwaita declared as nix devbox packages (scoped to linux platforms, with the dev output requested explicitly - nixpkgs splits runtime libs from headers/pkgconfig, and devbox only installs the default output unless told otherwise). macOS keeps using Homebrew's build exactly as before (nixpkgs' GTK build is much rockier there). PKG_CONFIG_PATH moved out of the static env block (which can't be platform-conditional) into init_hook, which can branch on uname. Verified building clean with 0 warnings on both this machine (Linux) and apfel (macOS). --- devbox.json | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/devbox.json b/devbox.json index be95b18..7a970a7 100644 --- a/devbox.json +++ b/devbox.json @@ -1,18 +1,29 @@ { "$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.17.2/.schema/devbox.schema.json", - "packages": [ - "rustc@latest", - "cargo@latest", - "pkg-config@latest", - "rustfmt@latest" - ], + "packages": { + "rustc": "latest", + "cargo": "latest", + "pkg-config": "latest", + "rustfmt": "latest", + "gtk4": { + "version": "latest", + "platforms": ["x86_64-linux", "aarch64-linux"], + "outputs": ["out", "dev"] + }, + "libadwaita": { + "version": "latest", + "platforms": ["x86_64-linux", "aarch64-linux"], + "outputs": ["out", "dev"] + } + }, "env": { - "PATH": "/opt/homebrew/bin:/opt/homebrew/sbin:$PATH", - "PKG_CONFIG_PATH": "/opt/homebrew/lib/pkgconfig", - "PKG_CONFIG_PATH_arm64_apple_darwin": "/opt/homebrew/lib/pkgconfig" + "PATH": "/opt/homebrew/bin:/opt/homebrew/sbin:$PATH" }, "shell": { - "init_hook": [], + "init_hook": [ + "export PKG_CONFIG_PATH=\"$DEVBOX_PACKAGES_DIR/lib/pkgconfig:$PKG_CONFIG_PATH\"", + "if [[ \"$(uname)\" == \"Darwin\" ]]; then export PKG_CONFIG_PATH=\"/opt/homebrew/lib/pkgconfig:$PKG_CONFIG_PATH\"; export PKG_CONFIG_PATH_arm64_apple_darwin=\"/opt/homebrew/lib/pkgconfig\"; fi" + ], "scripts": { "build": [ "cargo build --release"