This repository provides bootstrap scripts to quickly configure a Linux command-line environment. The focus is on a nicer interactive shell experience, a small set of common CLI tools, and an editor setup (Vim/Neovim).
| Method | Command |
|---|---|
| curl (Bash + oh-my-bash) | bash -c "$(curl -fsSL https://raw.githubusercontent.com/Nourollah/linux-cli-config-zsh-vim/main/BASH-OMB.sh)" |
| wget (Bash + oh-my-bash) | bash -c "$(wget -qO- https://raw.githubusercontent.com/Nourollah/linux-cli-config-zsh-vim/main/BASH-OMB.sh)" |
Sets up a Bash environment by:
- installing oh-my-bash
- setting the oh-my-bash theme to powerline
- optionally installing CLI tools (see full list below)
- optionally configuring Vim/Neovim
- optionally installing Pixi and UV
Sets up a Zsh environment by:
- installing oh-my-zsh
- configuring powerlevel10k
- optionally installing CLI tools (see full list below)
- optionally configuring Vim/Neovim
- optionally installing Pixi and UV
When the script asks:
Install optional packages for detected OS (...) ?
and you answer yes, it installs the following packages:
| Tool / Package | What it does |
|---|---|
fzf |
Interactive fuzzy finder for files, command history, and any text list in terminal workflows. |
ripgrep (rg) |
Very fast recursive text search tool; useful replacement for many grep -R use cases. |
fd-find |
Faster and simpler alternative to find with sane defaults. (On some distros the command is fdfind). |
jq |
JSON parser/formatter for CLI pipelines; extract/filter JSON fields from API responses and files. |
bat |
cat replacement with syntax highlighting, line numbers, and Git integration. |
tmux |
Terminal multiplexer for persistent, split, and multi-window shell sessions. |
btm (bottom) |
Interactive system monitor for CPU, memory, disk, network, and processes. |
dust (du-dust) |
Interactive disk usage analyzer to find large files/folders quickly. |
eza |
Modern ls replacement with icons, colors, and tree view support. |
zoxide |
Smarter cd command that learns your habits. |
git-delta (delta) |
Syntax-highlighting pager for git. |
hyperfine |
Command-line benchmarking tool. |
xh |
Friendly and fast tool for sending HTTP requests. |
sd |
Intuitive find & replace CLI. |
zellij |
Terminal workspace with batteries included. |
helix |
A post-modern modal text editor. |
neovim |
Modern Vim-based editor for terminal-centric editing and plugin workflows. |
curl |
Command-line data transfer tool for HTTP/HTTPS and other protocols. |
git |
Distributed version control system used for source control and repository operations. |
- The package list above reflects what the scripts install with
apt/dnf. - On Debian-like systems, some commands can differ from package names (for example
fd-findmay providefdfind). btmis installed asbottomon RHEL/Fedora,dustasdu-duston Debian/Ubuntu andrust-duston RHEL/Fedora,deltaasgit-delta.ezaandhelixmay require adding repos on Debian/Ubuntu systems.ZSH-P10k.shalso requireswgetto bootstrap oh-my-zsh installation.
When the script asks:
Do you want to proceed with Pixi to install additional packages?
and you answer yes, it installs the following packages globally via Pixi:
| Tool / Package | What it does |
|---|---|
zoxide |
Smarter cd with history and ranking. |
ripgrep |
Fast text search tool (rg). |
fd-find |
Fast find replacement. |
bat |
Syntax-highlighting cat replacement. |
eza |
Modern ls replacement. |
btm |
Interactive terminal system monitor. |
dust |
Fast disk usage analyzer. |
delta |
Improved git diff pager. |
hyperfine |
Benchmarking tool for CLI commands. |
xh |
Friendly HTTP client. |
sd |
Intuitive search-and-replace CLI. |
helix |
Modern modal text editor. |
zellij |
Terminal workspace manager. |
btop |
Terminal-based resource monitor. |
If Pixi package installation is selected, the script can also add package-specific shell aliases and functions to the shell config.
- These scripts may modify your shell startup files (for example
~/.bashrcor~/.zshrc) and may install packages usingsudo. - Restart the terminal session after running, or reload your shell config.