Files
server-cli-tools/README.md
Marek Paulik 6fe8529d10 Add server CLI tools installer for Ubuntu/Debian servers
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.
2026-06-04 20:52:54 +02:00

3.0 KiB

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.