From de773ad68f9397a82cb2494fc3c8dbc078a660a3 Mon Sep 17 00:00:00 2001 From: Ismo Vuorinen Date: Thu, 5 Feb 2026 22:51:40 +0200 Subject: [PATCH] refactor(scripts): add set -euo pipefail to all installer scripts Add strict error handling to all scripts: - 13 scripts get `set -euo pipefail` - install-macos-defaults.sh gets `set -uo pipefail` (without -e) because defaults write commands may fail on newer macOS versions - install-cargo-packages.sh: also add missing source of shared.sh --- scripts/create-nvim-keymaps.sh | 1 + scripts/install-cargo-packages.sh | 4 ++++ scripts/install-cheat-purebashbible.sh | 1 + scripts/install-composer.sh | 1 + scripts/install-fonts.sh | 1 + scripts/install-gh-extensions.sh | 1 + scripts/install-git-crypt.sh | 1 + scripts/install-go-packages.sh | 1 + scripts/install-macos-defaults.sh | 1 + scripts/install-npm-packages.sh | 1 + scripts/install-ntfy.sh | 1 + scripts/install-python-packages.sh | 1 + scripts/install-xcode-cli-tools.sh | 1 + scripts/install-z.sh | 1 + 14 files changed, 17 insertions(+) diff --git a/scripts/create-nvim-keymaps.sh b/scripts/create-nvim-keymaps.sh index 9651616..9e2b400 100755 --- a/scripts/create-nvim-keymaps.sh +++ b/scripts/create-nvim-keymaps.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail # @description Create file containing key mappings for Neovim # Usage: ./create-nvim-keymaps.sh # diff --git a/scripts/install-cargo-packages.sh b/scripts/install-cargo-packages.sh index 5e482ce..332ce5c 100755 --- a/scripts/install-cargo-packages.sh +++ b/scripts/install-cargo-packages.sh @@ -1,5 +1,9 @@ #!/usr/bin/env bash +set -euo pipefail # @description Install cargo/rust packages. +# +# shellcheck source=shared.sh +source "$DOTFILES/config/shared.sh" msgr run "Starting to install rust/cargo packages" diff --git a/scripts/install-cheat-purebashbible.sh b/scripts/install-cheat-purebashbible.sh index 7dca138..4961cbf 100755 --- a/scripts/install-cheat-purebashbible.sh +++ b/scripts/install-cheat-purebashbible.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail # @description Update pure-bash-bible cheatsheets # shellcheck disable=SC2231,SC2034,SC2181,SC2068 # shellcheck source=shared.sh diff --git a/scripts/install-composer.sh b/scripts/install-composer.sh index 8d9651f..abca678 100755 --- a/scripts/install-composer.sh +++ b/scripts/install-composer.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail # @description Install PHP Package Manager Composer # # shellcheck source="shared.sh" diff --git a/scripts/install-fonts.sh b/scripts/install-fonts.sh index 65d7a02..910a474 100755 --- a/scripts/install-fonts.sh +++ b/scripts/install-fonts.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail # @description Install NerdFonts # # shellcheck source="shared.sh" diff --git a/scripts/install-gh-extensions.sh b/scripts/install-gh-extensions.sh index 38f78c7..f3d4da6 100755 --- a/scripts/install-gh-extensions.sh +++ b/scripts/install-gh-extensions.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail # @description Install GitHub CLI extensions # # shellcheck source="shared.sh" diff --git a/scripts/install-git-crypt.sh b/scripts/install-git-crypt.sh index 231333b..b4facf4 100755 --- a/scripts/install-git-crypt.sh +++ b/scripts/install-git-crypt.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail # @description Install git-crypt # # NOTE: Experimental, wip diff --git a/scripts/install-go-packages.sh b/scripts/install-go-packages.sh index 1707e0d..0d61d96 100755 --- a/scripts/install-go-packages.sh +++ b/scripts/install-go-packages.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail # @description Install Go packages # # shellcheck source=shared.sh diff --git a/scripts/install-macos-defaults.sh b/scripts/install-macos-defaults.sh index ae5cdf1..291b048 100755 --- a/scripts/install-macos-defaults.sh +++ b/scripts/install-macos-defaults.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -uo pipefail # @description Sets macOS Defaults that I like # # This script contains large portions from following scripts: diff --git a/scripts/install-npm-packages.sh b/scripts/install-npm-packages.sh index 525dacd..64482f9 100755 --- a/scripts/install-npm-packages.sh +++ b/scripts/install-npm-packages.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail # @description Install npm packages globally. # # shellcheck source=shared.sh diff --git a/scripts/install-ntfy.sh b/scripts/install-ntfy.sh index abbbd0c..6cd2cc3 100755 --- a/scripts/install-ntfy.sh +++ b/scripts/install-ntfy.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail # @description Install ntfy # # shellcheck source=shared.sh diff --git a/scripts/install-python-packages.sh b/scripts/install-python-packages.sh index 9429510..fb66ec8 100755 --- a/scripts/install-python-packages.sh +++ b/scripts/install-python-packages.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail # @description Install Python packages using uv. # # shellcheck source=shared.sh diff --git a/scripts/install-xcode-cli-tools.sh b/scripts/install-xcode-cli-tools.sh index ada849a..ed9b7fb 100755 --- a/scripts/install-xcode-cli-tools.sh +++ b/scripts/install-xcode-cli-tools.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail # @description Install XCode CLI Tools with osascript magic. # Ismo Vuorinen 2018 # diff --git a/scripts/install-z.sh b/scripts/install-z.sh index 5b14868..0d6e192 100755 --- a/scripts/install-z.sh +++ b/scripts/install-z.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail # @description Install z # # shellcheck source=shared.sh