"Let there be light." - and there was a dev environment.
A zero-interaction setup script that bootstraps a complete development, security research, and reverse engineering environment on any Debian/Ubuntu system. One command, no prompts.
▄▄▄▄· ▄▄▄ ▐ ▄
▐█ ▀█▪▪ ▀▄ █· •█▌▐█
▐█▀▀█▄ ▄█▀▄ ▐▀▀▄ ▐█▐▐▌
██▄▪▐█▐█▌.▐▌▐█•█▌██▐█▌
·▀▀▀▀ ▀█▄▀▪.▀ ▀▀▀ █▪
chmod +x born.sh
./born.sh| Category | Tools |
|---|---|
| Build | build-essential, cmake, ninja-build, pkg-config, autotools |
| Languages | Python 3 + pip + venv, Node.js (nvm), Bun, Rust, Go |
| Editors | neovim, vim, nano |
| Terminal | fzf, ripgrep, bat, eza, zoxide, tmux, screen, ncdu, duf, htop, btop |
| Git | lazygit, GitHub CLI (gh), git-lfs, stow, direnv |
| File Transfer | rclone, magic-wormhole, rsync |
| Network | nmap, masscan, arp-scan, tcpdump, tshark, wireshark, mtr |
| Offensive | john, hydra, SecLists |
| VPN | openvpn, wireguard-tools |
| RE | radare2, binwalk, gdb, gdb-multiarch, strace, ltrace, hexedit, exiftool |
| OSINT | subfinder, amass, fierce, shodan, censys, theHarvester |
| Python | impacket, pwntools, scapy, paramiko, beautifulsoup4 |
| Zsh | autosuggestions, syntax-highlighting, completions, you-should-use |
| Theme | Powerlevel10k + Meslo Nerd Font |
| System | fastfetch, bandwhich, httpie, jq, yq, tldr |
- Zero interaction - wireshark, rust, and all other prompts are preconfigured
- Idempotent - skips anything already installed, safe to re-run
- Architecture aware - detects aarch64 vs x86_64 for binary downloads
- Zsh plugin automation - clones plugins and patches
.zshrcautomatically - Full logging - everything goes to
~/.born.logfor debugging - No root required - run as your normal user, script sudos when needed
- Debian/Ubuntu-based Linux (tested on Ubuntu 24.04 LTS, Raspberry Pi OS)
sudoaccess- Internet connection
zsh+ Oh My Zsh (optional, for plugin/theme automation)
After the script finishes:
# Restart your shell
exec zsh
# Configure Powerlevel10k
p10k configure
# Update tldr cache
tldr --updateSet your terminal font to MesloLGS NF for proper glyph rendering:
| Terminal | How to Set |
|---|---|
| Ghostty | Add font-family = MesloLGS NF to ~/.config/ghostty/config |
| GNOME Terminal | Preferences → Profile → Custom font → MesloLGS NF |
| iTerm2 | Preferences → Profiles → Text → Font → MesloLGS NF |
| Kitty | Add font_family MesloLGS NF to ~/.config/kitty/kitty.conf |
| Alacritty | Set family: "MesloLGS NF" in ~/.config/alacritty/alacritty.toml |
| Windows Terminal | Settings → Profile → Appearance → Font face → MesloLGS NF |
Note: If you SSH into a remote machine, the font needs to be installed on your local terminal, not the remote host.
The script is organized into clearly labeled phases. To add or remove tools, edit the relevant array:
# Example: Add a package to terminal utilities
TERM_PKGS=(
...
your-new-tool
)
# Example: Add a Python package
PY_PKGS=(... your-new-package)To add a new zsh plugin:
declare -A ZSH_PLUGINS=(
...
["new-plugin"]="https://github.com/author/new-plugin"
)The script handles cloning and .zshrc injection automatically.
All output is captured in ~/.born.log. If something fails:
# Check what went wrong
cat ~/.born.log | grep -i error
# Or tail it during install from another terminal
tail -f ~/.born.log- Initial release
- 18-phase automated install
- Zero-interaction package preconfiguration
- Automated zsh plugin management
- Architecture-aware binary downloads
- Idempotent design (safe to re-run)
Do whatever you want with it.