Script to prepare your GNU/Linux terminal (WSL compatible) in a «superterminal» with modern, autocompleted commands and other features.
MacOS script in development.
- Core Dependencies & System Tools
- zsh (with zsh-autosuggestions and zsh-syntax-highlighting)
- git (via the official Git PPA)
- eza, bat, tmux, tldr, btop, nmap, ripgrep, ncdu, jq
- Basic compilers/build tools:
build-essential
,cmake
,ninja-build
,autoconf
,automake
,pkg-config
, etc.
- Zsh Setup
- Removes old Bash files (
.bashrc
,.bash_profile
, etc.) - Sets Zsh as the default login shell.
- Removes old Bash files (
- Fastfetch
- A command-line tool to quickly display system info (OS, hardware, etc.).
- zoxide
- A smarter
cd
command for fast directory navigation.
- A smarter
- Starship
- A minimal, blazing-fast shell prompt.
- fnm (Fast Node Manager)
- A lightweight Node.js version manager.
- Lazydocker
- A simple terminal UI for Docker and docker-compose.
- Glow
- A terminal-based Markdown reader (installed from Charm’s apt repo).
- Lazygit
- A simple terminal UI for Git, installed from GitHub releases.
- FiraCode Nerd Fonts
- Popular programming fonts with icons, copied into
~/.local/share/fonts
.
- Popular programming fonts with icons, copied into
- FZF
- A command-line fuzzy finder, installed in unattended mode.
- Neovim (from source)
- Latest stable Neovim built from the official GitHub source.
- Docker
- Docker Engine (
docker-ce
), CLI (docker-ce-cli
), containerd, Buildx plugin, and Compose plugin, from the official Docker repository.
- Docker Engine (
- Rust
- Installed via the official Rustup script in non-interactive mode (
-y
).
- Installed via the official Rustup script in non-interactive mode (
- Custom Config & Dotfiles
- Copies
.config
files from this repo into your~/.config
. - Replaces
~/.zshrc
with one from the script and sources it immediately.
- Copies
- A Debian/Ubuntu-based Linux distribution (e.g., Ubuntu, Linux Mint, Pop!_OS).
- sudo privileges (the script installs system packages).
- Internet connection for downloading packages and source code.
- Clone or download this repository to your machine.
- Make the script executable
- Run the script
- If prompted, enter your sudo password.
git clone https://github.com/byjokese/dotfiles ~/.dotfiles
cd ~/.dotfiles
chmod +x install-on-linux.sh
./install-on-linux.sh
The script will:
- Update and install packages.
- Set up Zsh as your default shell.
- Clone/build Neovim from source.
- Install Docker, Rust, fonts, etc.
- Copy configuration files and remove old Bash files.
Git is required to be able to clone the repo, the rest should be automatically configured by the install script.
apt-get update -y && apt-get install -y sudo git