From 59dabbee77f5c6f5d331898b92a30d9af64ef5f5 Mon Sep 17 00:00:00 2001 From: Preston Hunt Date: Fri, 28 Aug 2026 12:31:35 -0700 Subject: [PATCH] docs: correct the README - Plugin list was stale: it named lightline (replaced by vim-airline) and omitted which-key, neodev, vim-sleuth, gruvbox.nvim, vim-lastplace, undotree and mru. Regenerated from init.lua, and noted lazy.nvim as the plugin manager. - Dropped the unqualified 'intended to be idempotent / safe to run multiple times' claim and replaced it with a section describing the actual failure: setup_tmux clones unconditionally and aborts the run. - Documented that config files are fetched from GitHub rather than taken from the local checkout, which is surprising given the 'inspect and verify, then run' workflow directly above it. - Install URL now says main rather than master. Note the master URL does still work: there is no master branch on the remote (only main and refactor), but raw.githubusercontent.com falls back to the default branch, so it serves identical content. Corrected for accuracy, not because it was broken. - Added ripgrep, fd, kitty and syncthing to the package list. The two caveats documented here are fixed on the idempotent-git-clones and local-file-first branches, and should be dropped when those land. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index dbff1b0..cec2bfd 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ # prestobuntu -A script to customize Ubuntu to my preferences. It is intended to be -idempotent, so it's safe to run it multiple times; it will only apply the -changes once. +A script to customize Ubuntu to my preferences. Requires Ubuntu 22.04 or newer. + +Most steps check whether they have already been applied and skip themselves if +so, but the script is not fully idempotent yet — see "Re-running" below. - Boot - Text instead of graphics @@ -14,17 +15,19 @@ changes once. - Hard-code DNS to 1.1.1.1 - Disable cups, whoopsie, apt-daily, automatic updates - Remote access - - openssh-server, with pre-install authorized keys + - openssh-server, with pre-installed authorized keys - tailscale - corkscrew (for tunnelling ssh over an http proxy) - Filesystem - Remove empty directories from /home/user - Install packages - - tmux, git, exuberant-ctags, fd, nodejs + - tmux, git, exuberant-ctags, ripgrep, fd, nodejs, kitty, syncthing - Neovim - - Plugins: vim-sensible, vim-fugitive, vim-commentary, vim-unimpaired, - supertab, ale, lightline, fzf, vim-gitgutter, vim-foldsearch, vim-ripgrep, - copilot.vim + - Plugin manager: lazy.nvim (bootstraps itself from `init.lua`) + - Plugins: which-key, neodev, vim-sensible, vim-sleuth, vim-fugitive, + vim-commentary, vim-unimpaired, supertab, ale, gruvbox.nvim, vim-airline, + vim-lastplace, vim-ripgrep, vim-gitgutter, undotree, vim-foldsearch, fzf, + mru, copilot.vim - Shell - zsh with prezto - User interface @@ -32,9 +35,8 @@ changes once. ## Installation -The installation script is auto-updating and has many safety checks. Of course, -you should inspect and verify it before running (as one should do before -running any arbitrary shell script from the Internet). +Of course, you should inspect and verify the script before running it (as one +should do before running any arbitrary shell script from the Internet). ### Installation from local file @@ -43,6 +45,17 @@ running any arbitrary shell script from the Internet). ### Installation from Internet - wget https://raw.githubusercontent.com/presto8/prestobuntu/master/setup + wget https://raw.githubusercontent.com/presto8/prestobuntu/main/setup nano setup # inspect and verify the script bash setup + +## Re-running + +Re-running `bash setup` on an already-provisioned machine currently fails in +`setup_tmux`, which clones its tmux plugins unconditionally; under `set -e` the +"already exists" error aborts the whole run. Remove +`~/.config/tmux/plugins` first, or skip that step, until this is fixed. + +Config files (`init.lua`, `gitconfig`, `tmux.conf`, ...) are fetched from +GitHub rather than taken from the local checkout, so editing them next to the +script and re-running will *not* install your edits.