Add tool config system to setup.sh

- Add .dotfiles-tools config file with tool definitions
- setup.sh now parses config and installs by priority
- Add --with-optional/-w flag to auto-install optional tools
- Includes: bash, kitty, vim, git, curl (required), rust, opencode, dua (optional)
This commit is contained in:
1jamesthompson1
2026-03-23 10:05:38 +13:00
parent a07cc04126
commit 6a99575c9f
2 changed files with 71 additions and 22 deletions

15
.dotfiles-tools Normal file
View File

@@ -0,0 +1,15 @@
# Tool configurations for dotfiles setup
# Format: name|command_to_check_installed|install_command|priority
# priority: required (install always), optional (ask user), extra (skip by default)
# Required - core tools
bash|/usr/bin/bash|sudo apt install -y bash|required
kitty|/usr/bin/kitty|sudo apt install -y kitty|required
vim|/usr/bin/vim|sudo apt install -y vim-gtk3|required
git|/usr/bin/git|sudo apt install -y git|required
curl|/usr/bin/curl|sudo apt install -y curl|required
# Optional - additional tools
rust|/usr/bin/cargo|curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y|optional
opencode|/usr/bin/opencode|curl -fsSL https://opencode.ai/install | sh|optional
dua|/usr/bin/dua|curl -LSfs https://raw.githubusercontent.com/Byron/dua-cli/master/ci/install.sh | sh -s -- --git Byron/dua-cli --target x86_64-unknown-linux-musl --crate dua --tag v2.29.0|optional