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.