Automated system setup for fresh Linux VMs with modern development tools.
git clone https://github.com/iAziz786/rehost.git
cd rehost
make setupThat's it! Your development environment is ready.
Rehost automatically sets up a fresh Linux system with:
- Go 1.25.1
- Rust (latest via rustup)
- Python 3 with pip
- Node.js with npm
- Java (OpenJDK)
- bat - Better cat with syntax highlighting
- eza - Modern ls replacement
- ripgrep - Blazing fast grep
- fzf - Fuzzy finder
- fd - User-friendly find
- zoxide - Smarter cd
- atuin - Shell history sync
- starship - Cross-shell prompt
- zellij - Terminal multiplexer
- nushell - Modern shell
- Neovim 0.11.4
- tmux & screen
- git & stow
- jq - JSON processor
- cargo (Rust)
- uv (Python)
- bun (JavaScript)
- mise - Runtime version manager
- PostgreSQL, MySQL, SQLite, Redis
- Debian/Ubuntu-based Linux
- x86_64 or ARM64 architecture
- Internet connection
- 5GB free disk space
- Prechecks: Validates system compatibility
- Migrations: Runs setup scripts in chronological order
- State Tracking: Skips already-completed steps
Setup files are stored in ~/.local/share/rehost/
Create a new migration:
make migrate TYPE=user NAME=install_toolEdit the generated file in migrations/user/, then run:
make setupOnly new migrations will run.
# User-level tools (dotfiles, development tools)
make setup
# System-level packages (requires root)
sudo make setupMIT