36 lines
1.5 KiB
Bash
Executable File
36 lines
1.5 KiB
Bash
Executable File
#!/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"
|