feat: simplify devbox config for macOS aarch64
On Apple Silicon Macs, many GTK-related nixpkgs packages are marked as unsupported on aarch64-darwin. Instead of using nixpkgs for the GUI stack, use Homebrew which provides pre-built bottles for gtk4, libadwaita, and all their dependencies (glib, pango, cairo, gdk-pixbuf, graphene, etc.). The devbox config now provides only the Rust toolchain (rustc, cargo, pkg-config, rustfmt) and sets environment variables to locate the Homebrew-installed libraries: - PKG_CONFIG_PATH: /opt/homebrew/lib/pkgconfig - PKG_CONFIG_PATH_arm64_apple_darwin: /opt/homebrew/lib/pkgconfig - PATH: Includes /opt/homebrew/bin and /opt/homebrew/sbin This allows building the project with: devbox run build All 16 tests pass with: devbox run check Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
parent
0b20b56cba
commit
74ec9a2492
2 changed files with 21 additions and 108 deletions
29
devbox.json
29
devbox.json
|
|
@ -4,30 +4,15 @@
|
|||
"rustc@latest",
|
||||
"cargo@latest",
|
||||
"pkg-config@latest",
|
||||
"rustfmt@latest",
|
||||
"nixpkgs#wayland",
|
||||
"nixpkgs#libxkbcommon",
|
||||
"nixpkgs#mesa",
|
||||
"nixpkgs#libGL",
|
||||
"nixpkgs#vulkan-loader",
|
||||
"nixpkgs#gcc",
|
||||
"nixpkgs#gtk4",
|
||||
"nixpkgs#glib",
|
||||
"nixpkgs#pango",
|
||||
"nixpkgs#cairo",
|
||||
"nixpkgs#graphene",
|
||||
"nixpkgs#gdk-pixbuf",
|
||||
"nixpkgs#harfbuzz",
|
||||
"nixpkgs#libadwaita",
|
||||
"nixpkgs#adwaita-icon-theme",
|
||||
"nixpkgs#flatpak",
|
||||
"nixpkgs#flatpak-builder",
|
||||
"nixpkgs#appstream"
|
||||
"rustfmt@latest"
|
||||
],
|
||||
"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"
|
||||
},
|
||||
"shell": {
|
||||
"init_hook": [
|
||||
". \"$PWD/scripts/devbox-libs.sh\""
|
||||
],
|
||||
"init_hook": [],
|
||||
"scripts": {
|
||||
"build": [
|
||||
"cargo build --release"
|
||||
|
|
|
|||
100
devbox.lock
100
devbox.lock
|
|
@ -43,81 +43,9 @@
|
|||
"last_modified": "2026-09-29T03:29:29Z",
|
||||
"resolved": "github:NixOS/nixpkgs/b6c8664de9b6cc07fe5666a29f91884ba81197c4?lastModified=1790652569&narHash=sha256-641r7xrlSOHYoktL9%2FaArPIYNgZJ9eM5URzSEOtPJDY%3D"
|
||||
},
|
||||
"nixpkgs#adwaita-icon-theme": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#adwaita-icon-theme"
|
||||
},
|
||||
"nixpkgs#appstream": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#appstream"
|
||||
},
|
||||
"nixpkgs#cairo": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#cairo"
|
||||
},
|
||||
"nixpkgs#flatpak": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#flatpak"
|
||||
},
|
||||
"nixpkgs#flatpak-builder": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#flatpak-builder"
|
||||
},
|
||||
"nixpkgs#gcc": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#gcc"
|
||||
},
|
||||
"nixpkgs#gdk-pixbuf": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#gdk-pixbuf"
|
||||
},
|
||||
"nixpkgs#glib": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#glib"
|
||||
},
|
||||
"nixpkgs#graphene": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#graphene"
|
||||
},
|
||||
"nixpkgs#gtk4": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#gtk4"
|
||||
},
|
||||
"nixpkgs#harfbuzz": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#harfbuzz"
|
||||
},
|
||||
"nixpkgs#libGL": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#libGL"
|
||||
},
|
||||
"nixpkgs#libadwaita": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#libadwaita"
|
||||
},
|
||||
"nixpkgs#libxkbcommon": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#libxkbcommon"
|
||||
},
|
||||
"nixpkgs#mesa": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#mesa"
|
||||
},
|
||||
"nixpkgs#pango": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#pango"
|
||||
},
|
||||
"nixpkgs#vulkan-loader": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#vulkan-loader"
|
||||
},
|
||||
"nixpkgs#wayland": {
|
||||
"last_modified": "1970-01-01T00:00:00Z",
|
||||
"resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#wayland"
|
||||
},
|
||||
"pkg-config@latest": {
|
||||
"last_modified": "2025-11-23T21:50:36Z",
|
||||
"resolved": "github:NixOS/nixpkgs/ee09932cedcef15aaf476f9343d1dea2cb77e261#pkg-config",
|
||||
"last_modified": "2026-10-05T09:07:57Z",
|
||||
"resolved": "github:NixOS/nixpkgs/aa48d347080940b8a2b8d2f48228674e280a3514#pkg-config",
|
||||
"source": "devbox-search",
|
||||
"version": "0.29.2",
|
||||
"systems": {
|
||||
|
|
@ -125,39 +53,39 @@
|
|||
"outputs": [
|
||||
{
|
||||
"name": "out",
|
||||
"path": "/nix/store/hygaaqwk9ylklp0ybwppqhw75nz8ya41-pkg-config-wrapper-0.29.2",
|
||||
"path": "/nix/store/nhgylvj98klqggy54h7gbc3b2ia4a00y-pkg-config-wrapper-0.29.2",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"name": "man",
|
||||
"path": "/nix/store/9px0sji43x3r2w4zxl3j3idwsql7lwxx-pkg-config-wrapper-0.29.2-man",
|
||||
"path": "/nix/store/rk4dw0mj2lakbw5hml11mfpmdx9xjzfa-pkg-config-wrapper-0.29.2-man",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"name": "doc",
|
||||
"path": "/nix/store/hqk44ra6qxw7iixardl6c3hdgb9kq6ns-pkg-config-wrapper-0.29.2-doc"
|
||||
"path": "/nix/store/xzlcs9f8xl9dvnbwifmlfbxy15jq53j1-pkg-config-wrapper-0.29.2-doc"
|
||||
}
|
||||
],
|
||||
"store_path": "/nix/store/hygaaqwk9ylklp0ybwppqhw75nz8ya41-pkg-config-wrapper-0.29.2"
|
||||
"store_path": "/nix/store/nhgylvj98klqggy54h7gbc3b2ia4a00y-pkg-config-wrapper-0.29.2"
|
||||
},
|
||||
"aarch64-linux": {
|
||||
"outputs": [
|
||||
{
|
||||
"name": "out",
|
||||
"path": "/nix/store/lbiigi8qbp7mzf1lpr7p982l1kyf01ql-pkg-config-wrapper-0.29.2",
|
||||
"path": "/nix/store/h82n3d0wdrgskdc3yvmz5l3c50h2snvp-pkg-config-wrapper-0.29.2",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"name": "man",
|
||||
"path": "/nix/store/10060k24qggqyzlwdsfmni9y32zxcg0j-pkg-config-wrapper-0.29.2-man",
|
||||
"path": "/nix/store/8960pp9vb5hx49q3h315hwr33gb0k2k0-pkg-config-wrapper-0.29.2-man",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"name": "doc",
|
||||
"path": "/nix/store/0y4v51ndpyvkj09hwlfqkz0c3h17zfmc-pkg-config-wrapper-0.29.2-doc"
|
||||
"path": "/nix/store/dxpxspf67kl1gydpl3v3f7pxa3l9wyvq-pkg-config-wrapper-0.29.2-doc"
|
||||
}
|
||||
],
|
||||
"store_path": "/nix/store/lbiigi8qbp7mzf1lpr7p982l1kyf01ql-pkg-config-wrapper-0.29.2"
|
||||
"store_path": "/nix/store/h82n3d0wdrgskdc3yvmz5l3c50h2snvp-pkg-config-wrapper-0.29.2"
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
"outputs": [
|
||||
|
|
@ -182,20 +110,20 @@
|
|||
"outputs": [
|
||||
{
|
||||
"name": "out",
|
||||
"path": "/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2",
|
||||
"path": "/nix/store/b9izmrfjp0qnnyahdwwrzdwi87s1h179-pkg-config-wrapper-0.29.2",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"name": "man",
|
||||
"path": "/nix/store/j9xfpnrygg3v37svc5pfin9q5bm49r94-pkg-config-wrapper-0.29.2-man",
|
||||
"path": "/nix/store/c8asqjndyv84qh5y2z84w9np0c369ill-pkg-config-wrapper-0.29.2-man",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"name": "doc",
|
||||
"path": "/nix/store/x3bypxdxaq20kykybhkf21x4jczsiy8y-pkg-config-wrapper-0.29.2-doc"
|
||||
"path": "/nix/store/8fsw8ybdnhcif89dmk8pp85ykjpvh3pr-pkg-config-wrapper-0.29.2-doc"
|
||||
}
|
||||
],
|
||||
"store_path": "/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2"
|
||||
"store_path": "/nix/store/b9izmrfjp0qnnyahdwwrzdwi87s1h179-pkg-config-wrapper-0.29.2"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue