Dev toolchain scan: DEVELOPMENT.md, dev-setup.sh, OpenSCAD + Android Studio flatpaks
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Executable
+35
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
# One-shot developer toolchain setup for the main-desktop image.
|
||||
# Run as your user after first boot (safe to re-run). See DEVELOPMENT.md for the why.
|
||||
set -euo pipefail
|
||||
|
||||
echo "== Homebrew tools =="
|
||||
brew install mise gh cosign
|
||||
|
||||
echo "== Toolchains (mise) =="
|
||||
mise use -g node@22 python@3.12 go@latest rust@latest java@temurin-21 dotnet@10
|
||||
mise install node@18 node@20 python@3.11 java@temurin-17 java@temurin-25
|
||||
|
||||
echo "== RTL-SDR udev rules (FRScanner) =="
|
||||
if [ ! -f /etc/udev/rules.d/20-rtlsdr.rules ]; then
|
||||
sudo tee /etc/udev/rules.d/20-rtlsdr.rules >/dev/null <<'EOF'
|
||||
# Generic RTL2832U (rtl-sdr) dongles — allow non-root access
|
||||
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2838", MODE="0666", TAG+="uaccess"
|
||||
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2832", MODE="0666", TAG+="uaccess"
|
||||
EOF
|
||||
sudo udevadm control --reload-rules
|
||||
fi
|
||||
|
||||
echo "== Native-build distrobox =="
|
||||
if ! distrobox list 2>/dev/null | grep -q '^.*| *dev '; then
|
||||
distrobox create --yes dev --image registry.fedoraproject.org/fedora:44
|
||||
distrobox enter dev -- sudo dnf install -y gcc gcc-c++ make cmake pkgconf python3-devel \
|
||||
gtk4-devel zbar libsndfile mediainfo-libs rtl-sdr rtl-sdr-devel mkvtoolnix \
|
||||
python3-tkinter python3-dbus flashrom
|
||||
fi
|
||||
|
||||
echo "== Done =="
|
||||
echo "Remaining manual bits (see DEVELOPMENT.md):"
|
||||
echo " - copy ~/godot/ (pinned 4.2/4.3 binaries) and ~/.local/share/godot/ from old machine"
|
||||
echo " - bring per-project .env files (API keys)"
|
||||
echo " - ujust dx-group (docker group), then re-login"
|
||||
Reference in New Issue
Block a user