Skip to content

Commit

Permalink
Make dotfiles-setup more robust
Browse files Browse the repository at this point in the history
  • Loading branch information
loganswartz committed Nov 27, 2024
1 parent ecaffc2 commit 89c4a27
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 18 deletions.
30 changes: 26 additions & 4 deletions new-install/.local/bin/dotfiles-setup
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,34 @@
# http://redsymbol.net/articles/unofficial-bash-strict-mode/
set -uo pipefail

# any stowed packages can put install scripts in ~/.local/bin/
BIN_DIR="$HOME/.local/bin/"
NAME="$(basename "$0")"
# install scripts should start with this prefix
SCRIPT_PREFIX="_dotfiles-setup-"
PREFIX="_$NAME-"

scripts=("$(find -L "$BIN_DIR" -type f -name "$SCRIPT_PREFIX*")")
# split PATH into an array
IFS=: read -r -d '' -a PATHS < <(printf '%s:\0' "$PATH")

# account for differences between GNU and BSD find
function _find() {
if [[ "$OSTYPE" == "linux-gnu" ]]; then
find "$@" -printf "%f\n"
elif [[ "$OSTYPE" == "darwin"* ]]; then
find "$@" -print0 | xargs -0 stat -f '%i '
fi
}

# find every script in PATH with the prefix
found=()
for dir in "${PATHS[@]}"; do
if [[ ! -d "$dir" ]]; then
continue
fi

found+=("$(_find -L "$dir" -type f -name "$PREFIX*")")
done
scripts=("$(printf '%s\n' "${found[@]}" | awk 'NF{$1=$1;print}' | sort | uniq | sed -z '$ s/\n$//')")

# run every script with the same arguments
for script in ${scripts[@]}; do
"$script" "$@"
done
28 changes: 14 additions & 14 deletions nvim/.config/nvim/lazy-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@
"dir-telescope.nvim": { "branch": "main", "commit": "805405b9f98dc3470f8676773dc0e6151a9158ed" },
"dressing.nvim": { "branch": "master", "commit": "fc78a3ca96f4db9f8893bb7e2fd9823e0780451b" },
"git-messenger.vim": { "branch": "master", "commit": "edc603d4cda7894a743e383e16c638e206d03148" },
"gitlinker.nvim": { "branch": "master", "commit": "a221c13fc3c7f5b8799933f4966ee8e618287292" },
"gitsigns.nvim": { "branch": "main", "commit": "ac5aba6dce8c06ea22bea2c9016f51a2dbf90dc7" },
"gitlinker.nvim": { "branch": "master", "commit": "8e193f0bcece78cb10ee3c30da1eaa1fee03657d" },
"gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" },
"hover.nvim": { "branch": "main", "commit": "f8e162daccb2f117e19f3d5ad3647ac0cefb02e3" },
"indent-blankline.nvim": { "branch": "master", "commit": "7871a88056f7144defca9c931e311a3134c5d509" },
"kulala-cmp-graphql.nvim": { "branch": "main", "commit": "5cfe0bebdd89d71db65ec1743052be152c4ac397" },
"kulala.nvim": { "branch": "main", "commit": "1c4156b8204137ff683d7c61b94218ca1cfbf801" },
"kulala.nvim": { "branch": "main", "commit": "c7efcd01afafae0ab68c2a77cd050b9795edd8ad" },
"lazy.nvim": { "branch": "main", "commit": "56ead98e05bb37a4ec28930a54d836d033cf00f2" },
"lazydev.nvim": { "branch": "main", "commit": "d5800897d9180cea800023f2429bce0a94ed6064" },
"lazydev.nvim": { "branch": "main", "commit": "f59bd14a852ca43db38e3662395354cb2a9b13e0" },
"lsp-format.nvim": { "branch": "master", "commit": "47de35b54ec95bb049f52016632394b914d4d9e9" },
"lsp_lines.nvim": { "branch": "main", "commit": "7d9e2748b61bff6ebba6e30adbc7173ccf21c055" },
"lsp_signature.nvim": { "branch": "master", "commit": "fc38521ea4d9ec8dbd4c2819ba8126cea743943b" },
Expand All @@ -40,23 +40,23 @@
"none-ls.nvim": { "branch": "main", "commit": "1f2bf17eddfdd45aed254b6922c6c68b933dba9e" },
"numb.nvim": { "branch": "master", "commit": "3f7d4a74bd456e747a1278ea1672b26116e0824d" },
"nvim-blame-line": { "branch": "master", "commit": "b3d94f0ed5882d3d1c843c69788b9670476e1f42" },
"nvim-cmp": { "branch": "main", "commit": "be7bd4c5f860c79da97af3a26d489af50babfd4b" },
"nvim-cmp": { "branch": "main", "commit": "ed31156aa2cc14e3bc066c59357cc91536a2bc01" },
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
"nvim-dap": { "branch": "master", "commit": "cc92b054720a96170eca6bd9bdedd43d2b0a7a8a" },
"nvim-dap": { "branch": "master", "commit": "d0ac996fe4e703844d341a754109948ea5888e23" },
"nvim-dap-ui": { "branch": "master", "commit": "ffa89839f97bad360e78428d5c740fdad9a0ff02" },
"nvim-genghis": { "branch": "main", "commit": "24f89387d13c80cea981547f9a67da6bc3fd99f9" },
"nvim-lspconfig": { "branch": "master", "commit": "291a8f1a319dc712db85bcc174b0cf406f0a5b69" },
"nvim-genghis": { "branch": "main", "commit": "940fda51657e78d87e5e2c0c5cbf6a9110d79537" },
"nvim-lspconfig": { "branch": "master", "commit": "4ae9796c4e95ca84ec77946a9f9089b8f1a3eec9" },
"nvim-luapad": { "branch": "master", "commit": "176686eb616a5ada5dfc748f2b5109194bbe8a71" },
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
"nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" },
"nvim-surround": { "branch": "main", "commit": "dca2e998ff26681ee422b92c6ed39b3d2908d8a9" },
"nvim-toggler": { "branch": "main", "commit": "467808600882fd6c9e33b9dbc4889b1b80cfd917" },
"nvim-treesitter": { "branch": "master", "commit": "8a74ac9aead72ef7a870908f1517b48f2bb25ac7" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "3e450cd85243da99dc23ebbf14f9c70e9a0c26a4" },
"nvim-treesitter": { "branch": "master", "commit": "8d4fdc5e47e2a4e00179e43f56221250ce365973" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" },
"nvim-ts-autotag": { "branch": "main", "commit": "e239a560f338be31337e7abc3ee42515daf23f5e" },
"nvim-ts-context-commentstring": { "branch": "main", "commit": "9c74db656c3d0b1c4392fc89a016b1910539e7c0" },
"nvim-various-textobjs": { "branch": "main", "commit": "e5f951dd95083939dfded22e7330c97d8c172ed2" },
"nvim-web-devicons": { "branch": "master", "commit": "e87554285f581047b1bf236794b0eb812b444b87" },
"nvim-various-textobjs": { "branch": "main", "commit": "b13c4c56419d6efb85ef14a2c1f380196e743a36" },
"nvim-web-devicons": { "branch": "master", "commit": "edbe0a65cfacbbfff6a4a1e98ddd60c28c560509" },
"octo.nvim": { "branch": "master", "commit": "51f18085561805732e0306cf7300f773ec86872c" },
"place.vim": { "branch": "master", "commit": "7902a2abbe8c263fffafd2722c3335eb77b38fc5" },
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
Expand All @@ -66,7 +66,7 @@
"scratch.nvim": { "branch": "main", "commit": "0e3ee1fe64023efe9459a361401a48017d34349e" },
"selenized.nvim": { "branch": "main", "commit": "6f31b954da7e15190c2af1d550ce2f22bf675d97" },
"sibling-swap.nvim": { "branch": "main", "commit": "269770df52114ed6f22321310538b4daf8973384" },
"smart-splits.nvim": { "branch": "master", "commit": "00fba7a0e912a8d82da91a3b6b11d641fa500bd8" },
"smart-splits.nvim": { "branch": "master", "commit": "d8b0e772a0244169534b1fd57c1660c9bf323d26" },
"substitute.nvim": { "branch": "main", "commit": "97f49d16f8eea7967d41db4f657dd63af53eeba1" },
"suda.vim": { "branch": "master", "commit": "b97fab52f9cdeabe2bbb5eb98d82356899f30829" },
"targets.vim": { "branch": "master", "commit": "6325416da8f89992b005db3e4517aaef0242602e" },
Expand All @@ -79,7 +79,7 @@
"vim-caser": { "branch": "master", "commit": "6bc9f41d170711c58e0157d882a5fe8c30f34bf6" },
"vim-dadbod": { "branch": "master", "commit": "fe5a55e92b2dded7c404006147ef97fb073d8b1b" },
"vim-dadbod-completion": { "branch": "master", "commit": "da0e75c09c27a82aad078d993bb1b2f4afd43427" },
"vim-dadbod-ui": { "branch": "master", "commit": "0da912428a69a3b757b29cd77b41964a03ecd50b" },
"vim-dadbod-ui": { "branch": "master", "commit": "28a16902cb2134c934b85da5250033ee43b0dee5" },
"vim-devicons": { "branch": "master", "commit": "71f239af28b7214eebb60d4ea5bd040291fb7e33" },
"vim-fugitive": { "branch": "master", "commit": "320b18fba2a4f2fe3c8225c778c687e0d2620384" },
"vim-speeddating": { "branch": "master", "commit": "c17eb01ebf5aaf766c53bab1f6592710e5ffb796" },
Expand Down
1 change: 1 addition & 0 deletions nvim/.config/nvim/lua/dotfiles/plugins/gitsigns.lua
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
local M = {
'lewis6991/gitsigns.nvim',
dependencies = { 'nvim-lua/plenary.nvim' },
event = 'BufRead',
opts = {
signs = {
add = { text = '+' },
Expand Down

0 comments on commit 89c4a27

Please sign in to comment.