-
Notifications
You must be signed in to change notification settings - Fork 301
Expand file tree
/
Copy pathdevbox.json
More file actions
63 lines (63 loc) · 3.04 KB
/
devbox.json
File metadata and controls
63 lines (63 loc) · 3.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
{
"$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.17.1/.schema/devbox.schema.json",
"// NOTE": "DO NOT add dotnet to devbox. The C# generators require multiple .NET SDK versions, but devbox can only pin one version at a time. .NET must be installed separately or managed outside of devbox.",
"packages": [
"nodejs@24",
"go@1.23.8",
"python@3.10",
"poetry@1.8",
"jdk@17",
"gradle@8.5",
"ruby@3.4",
"rubocop@latest",
"php@8.4",
"rustup@latest",
"ruff@0.15",
"buf@1.50.0",
"git-lfs@latest",
"git@latest",
"docker@latest",
"bun@latest"
],
"env": {
"DEVBOX_COREPACK_ENABLED": "true"
},
"shell": {
"init_hook": [
"printf '\\033]0;%s\\007' 'fern (devbox)'",
"unset GOROOT # Unset GOROOT from parent shell to avoid conflicts with devbox's Go",
"export PATH=\"$(go env GOPATH)/bin:$PATH\"",
"command -v golangci-lint &>/dev/null || { echo 'Installing golangci-lint...'; go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.10.1 2>/dev/null || true; }",
"mkdir -p \"$HOME/.local/bin\"",
"if [ ! -f \"$HOME/.local/bin/composer\" ]; then echo 'Installing composer...'; curl -sSL https://getcomposer.org/download/latest-2.x/composer.phar -o \"$HOME/.local/bin/composer\" && chmod +x \"$HOME/.local/bin/composer\"; fi",
"if [ ! -f \"$HOME/.local/bin/php-cs-fixer\" ]; then echo 'Installing php-cs-fixer...'; curl -sSL https://cs.symfony.com/download/php-cs-fixer-v3.phar -o \"$HOME/.local/bin/php-cs-fixer\" && chmod +x \"$HOME/.local/bin/php-cs-fixer\"; fi",
"export PATH=\"$HOME/.local/bin:$PATH\"",
"if [ -f /usr/bin/xcrun ]; then mkdir -p \"$HOME/.local/bin\" && ln -sf /usr/bin/xcrun \"$HOME/.local/bin/xcrun\"; fi # Use system xcrun instead of nix xcbuild",
"rustup default stable 2>/dev/null || true",
"rustup component add rustfmt 2>/dev/null || true",
"bash scripts/setup-dotnet.sh 2>/dev/null || true",
"export DOTNET_ROOT=\"$HOME/.dotnet\"",
"export PATH=\"$HOME/.dotnet:$HOME/.dotnet/tools:$PATH\"",
"echo 'Node.js:' $(node --version)",
"echo 'pnpm:' $(pnpm --version 2>/dev/null || echo 'not available')",
"echo 'Go:' $(go version)",
"echo 'Python:' $(python --version)",
"echo 'Java:' $(java --version 2>&1 | head -1)",
"echo 'Gradle:' $(gradle --version 2>&1 | grep Gradle | head -1)",
"echo '.NET:' $(dotnet --version 2>/dev/null || echo 'not available (see CLAUDE.md for manual installation')",
"echo 'Ruby:' $(ruby --version)",
"echo 'PHP:' $(php --version 2>&1 | head -1)",
"echo 'Rust:' $(rustc --version 2>/dev/null || echo 'not available')",
"echo 'buf:' $(buf --version)",
"echo 'Bun:' $(bun --version 2>/dev/null || echo 'not available')",
"echo 'Docker:' $(docker --version 2>/dev/null || echo 'not available')",
"echo 'Fern development environment loaded!'"
],
"scripts": {
"install": "pnpm install",
"compile": "pnpm compile",
"test": "pnpm test",
"lint": "pnpm check"
}
}
}