From d293943106dbecde03e5a2d481fffcf6af3f6f11 Mon Sep 17 00:00:00 2001 From: Bastien CHANOT Date: Tue, 6 Oct 2026 10:55:24 +0200 Subject: [PATCH] feat(install): add git-delta to the apt and brew packages gitconfig sets core.pager = delta; without the binary git cannot page. --- README.md | 4 ++-- install.sh | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index c197e93..6e64bbe 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,7 @@ What it does: ### Packages installed (apt) -- **Build / VCS / C dev**: `vim git git-lfs git-filter-repo gitleaks gcc make pkg-config dkms valgrind shellcheck gh` +- **Build / VCS / C dev**: `vim git git-lfs git-filter-repo gitleaks gcc make pkg-config dkms valgrind shellcheck gh git-delta` (`git-delta` = `delta`, the pager set in `gitconfig`) - **Net / security / transport**: `curl gnupg ca-certificates apt-transport-https net-tools openssh-server cifs-utils lftp ftp` - **Shell tooling**: `unzip tree tmux fzf dtach` - **Runtimes**: `nodejs python3-pip pipx php-cli` @@ -100,7 +100,7 @@ The script is re-runnable: each run re-backs up to `~/Oldconfig` (overwriting th The same `./install.sh` detects macOS and replaces `apt-get` with Homebrew. It first asks which login shell you want, **bash** or **zsh** (`[bash]` by default; answer in advance with `MACOS_SHELL=zsh ./install.sh`, and with no terminal attached it picks bash): 1. Installs Homebrew with its official script when `brew` is missing (this also pulls the Xcode Command Line Tools: clang, make, git), then `brew update` + `brew upgrade`. -2. Installs the apt list mapped to formulae: `vim git git-lfs git-filter-repo gitleaks pkgconf shellcheck gh curl gnupg lftp inetutils unzip tree tmux fzf dtach node python pipx php mariadb imagemagick ffmpeg weasyprint poppler qpdf webp libavif bash`. Brew's `php` already ships gd, mbstring, xml, intl, curl and mysql. +2. Installs the apt list mapped to formulae: `vim git git-lfs git-filter-repo gitleaks pkgconf shellcheck gh git-delta curl gnupg lftp inetutils unzip tree tmux fzf dtach node python pipx php mariadb imagemagick ffmpeg weasyprint poppler qpdf webp libavif bash`. Brew's `php` already ships gd, mbstring, xml, intl, curl and mysql. 3. Docker: `colima` (the Linux VM) + `docker docker-compose docker-buildx`. Writes `~/.docker/config.json` with `cliPluginsExtraDirs` so `docker compose` works, only when that file does not exist yet (otherwise prints the line to add). 4. Starts `colima`, `code-server` and `mariadb` as `brew services` (the `systemctl enable --now` equivalent), skipping any already started. 5. Deploys `bashrc-osx`, then appends one line to `~/.bash_profile` that sources `~/.bashrc`: macOS terminals open login shells, which never read `~/.bashrc` on their own. Done for both choices, so `bash` stays usable. diff --git a/install.sh b/install.sh index 1d08468..408058e 100755 --- a/install.sh +++ b/install.sh @@ -303,7 +303,7 @@ install_brew_packages() { brew update brew upgrade brew install \ - vim git git-lfs git-filter-repo gitleaks pkgconf shellcheck gh \ + vim git git-lfs git-filter-repo gitleaks pkgconf shellcheck gh git-delta \ curl gnupg lftp inetutils \ unzip tree tmux fzf dtach \ node python pipx php \ @@ -508,10 +508,12 @@ if command -v apt-get >/dev/null 2>&1; then sudo apt-get update sudo apt-get upgrade -y - # Build + version control + C dev tooling (gitleaks backs the pre-commit hook). # Web stack: MariaDB + PHP modules for local WordPress/LAMP work; the php-* metapackages + # Build + version control + C dev tooling (gitleaks backs the pre-commit hook, + # git-delta provides `delta`, the pager set in gitconfig). + # Web stack: MariaDB + PHP modules for local WordPress/LAMP work; the php-* metapackages # follow the distro's PHP version instead of pinning php8.x-*. sudo apt-get install -y \ - vim git git-lfs git-filter-repo gitleaks gcc make pkg-config dkms valgrind shellcheck \ + vim git git-lfs git-filter-repo gitleaks gcc make pkg-config dkms valgrind shellcheck git-delta \ curl gnupg ca-certificates apt-transport-https \ unzip tree tmux fzf dtach net-tools \ openssh-server cifs-utils lftp ftp \