added roid-tools as the source of addidional packages

This commit is contained in:
Luxferre
2026-06-04 06:36:19 +03:00
parent 04b250323e
commit 69182b9fcc
+80
View File
@@ -0,0 +1,80 @@
#!/usr/bin/env bash
# Roid toolset setup script
# Should work on any Void Linux installation, not just specific to Roid
# Installs the following tools and development packages:
# - Shell tools: jq, yq, mlr, ag, fzf, dtach, dialog, progress, discount, HTop, Nano, MC, Zip, 7-Zip
# - Multimedia tools: ImageMagick, pngcrush, SoX, FFmpeg, MPG123, DUMBplay
# - Network tools: cURL, Socat, RSync, Wget, GSocket, Lynx, Netcat, Offpunk, aria2c, Outport, Multicities
# - Security tools: GnuPG, Pass, NMap, THC Hydra, John the Ripper, Hashcat, SQLMAP, Gobuster, BlueShift
# - Dev tools: Git, SQlite3, CMake
# - Languages: Go, Tcl (+ Tcllib, TclTLS, SQLite-Tcl), Janet (+ JPM, Spork, Jurl, Janet-SQLite3)
# - Fun tools and games: Frotz, FIGlet (+ extra fonts), BSD Games, Bastet, Nudoku, GNU Go, Scoundrel-Bash,
# Rogue, Cataclysm: Dark Days Ahead (min. 80x24 terminal size required for it and Rogue)
# Created by Luxferre in 2026, released into the public domain
# Local single-script installation helper
localinst() {
local name="$1" url="$2"
sudo curl -fsSL -o /usr/local/bin/$name "$url"
sudo chmod +x /usr/local/bin/$name
}
# install all tool dependencies
echo 'Installing packages...'
PKGS='curl git nano mc zip p7zip jq yq miller the_silver_searcher fzf dtach dialog progress discount rlwrap htop sqlite tcl tcllib tcltls sqlite-tcl janet jpm go cmake openssl-devel libcurl-devel aria2 wget lynx offpunk netcat socat rsync gnupg pass nmap john hashcat hashcat-utils thc-hydra sqlmap gobuster ImageMagick pngcrush sox ffmpeg mpg123 dumbplay figlet figlet-fonts frotz bsd-games rogue bastet nudoku gnugo Cataclysm-DDA'
cd
sudo xbps-install -Suy $PKGS
# install GSocket
$SHELL -c "$(curl -fsSL gsocket.io/install.sh)"
cd gsocket
sudo make install
cd ..
rm -rf gsocket
# install Janet modules
jpm install spork jurl sqlite3
# install Outport
localinst outport 'https://codeberg.org/luxferre/sh-goodies/raw/branch/master/outport'
# install Multicities
localinst cities 'https://codeberg.org/luxferre/sh-goodies/raw/branch/master/cities.sh'
# install BlueShift
localinst blueshift 'https://codeberg.org/luxferre/sh-goodies/src/branch/master/blueshift.sh'
# install Scoundrel
localinst scoundrel 'https://codeberg.org/luxferre/bash-goodies/raw/branch/master/scoundrel'
echo 'Updating configs...'
# Write the RC file
cat > $HOME/.roidtoolrc <<'EOF'
# Generate a pseudorandom key from machine alias
gs-key() {
echo "$*"|sha512sum -b|base64 -w0|tr -d -c a-z0-9|cut -c 1-22
}
# Enter the machine by its alias
gs-enter() {
gs-netcat -i -s "$(gs-key "$*")"
}
# Print out GS deployment/undeployment/access commands
gs-deploy-cmd() {
machinekey="$(gs-key "$*")"
printf 'Deploy on target:\ncurl -fsSL https://gsocket.io/y | X=%s bash\n' "$machinekey"
printf 'Undeploy from target:\ncurl -fsSL https://gsocket.io/y | GS_UNDO=1 bash\n'
printf 'Access:\ngs-enter %s\n' "$*"
}
# Janet-specific aliases
alias jpm-build='jpm clean && jpm build --build-type=release --ldflags="-s"'
alias jpm-build-static='jpm clean && jpm build --build-type=release --ldflags="-s" --janet-cflags="-static"'
# Fix Frotz not wanting to run as root
alias frotz='sudo -u nobody frotz'
EOF
echo ". $HOME/.roidtoolrc" >> $HOME/.bashrc
echo 'Done. Restart the shell to apply'