6fe8529d1029933114c82f3aebcaf5676cfae078
Introduce a self-contained repo with an interactive install.sh that provisions zsh, oh-my-zsh, aliases, bat/yazi configs, docker shortcuts, and git-delta pager setup. Configs are adapted from dotfiles for SSH-only servers — no desktop or neovim dependencies. Installer supports --all, --update (git pull + re-run), and --uninstall with backup restore. Core packages include vim (default editor), yazi via apt, and idempotent apt installs with warnings for eza and git-delta when repos lack them.
Server CLI Tools
Interactive installer for setting up a consistent shell environment on Ubuntu/Debian servers. Clone to any server, run the installer, pick what you need.
Quick start
git clone <repo-url> ~/server_cli_tools
cd ~/server_cli_tools
./install.sh # interactive menu
./install.sh --all # install everything
./install.sh --update # pull latest + re-run menu
./install.sh --uninstall # remove installed configs
What's included
| # | Component | What it does |
|---|---|---|
| 1 | Core packages | vim, bat, eza, fzf, htop, tmux, zsh, ripgrep, fd-find, zoxide, yazi, git-delta |
| 2 | Zsh + Oh-My-Zsh | Shell, plugins (zsh-autosuggestions, zsh-syntax-highlighting, z), custom prompt theme |
| 3 | Aliases + tools | General, git, and docker aliases with a self-documenting help system (h) |
| 4 | Terminal configs | bat theme (base16), yazi file manager config |
| 5 | Docker aliases | Start/stop toggle, bulk stop/remove, image management |
| 6 | Git config | git-delta as pager with side-by-side diffs |
Alias highlights
Type h after installation to see all aliases with descriptions. Some highlights:
ll — eza with icons, groups, timestamps
pf — fzf + bat file preview
cdf — fuzzy cd into any subdirectory
mkcd — mkdir + cd in one command
twd — tar current directory
gdn — numbered git diff (then gdn 3 to diff file #3)
gcpm — git add -u + commit + push in one command
gstm — git stash with mandatory message
ds — toggle docker container start/stop
da — docker ps -a
How it works
- Idempotent — safe to run multiple times; skips already-installed packages
- Non-destructive — existing configs are backed up to
~/.server_cli_tools_bkp/<timestamp>/ - Selective — interactive menu lets you toggle individual components
- Ubuntu/Debian — uses
apt; warns on other distros (configs still work)
Repo structure
server_cli_tools/
install.sh # main installer
configs/
aliases/
.aliases # general aliases (server-adapted)
.functions.sh # helper functions + alias help system
.git_aliases # git shortcuts + stash management
.docker_aliases # docker management aliases
.git_bash_autocomplete # bash git completion
custom_tools/
backup_dotfiles.sh # backup conflicting dotfiles
bat/config # bat theme
yazi/yazi.toml # yazi file manager config
zsh/zhann-elvis.zsh-theme # custom zsh prompt (git-aware)
zshrc # .zshrc with oh-my-zsh + plugins
Customization
After installation, create local overrides that won't be tracked:
~/.config/aliases/.local_aliases— machine-specific aliases~/.config/aliases/.custom_aliases— temporary/personal aliases
Use ea l to edit local aliases, ea c for custom, sa to re-source.
Description
Languages
Shell
100%