WIP: Installation Strategy Redesign #15

Draft
sortedcord wants to merge 14 commits from fix/reference-counting into master

14 Commits

Author SHA1 Message Date
83c524441c fix #19: Prevent Checkpoint from having same bug as
Some checks failed
Lint / lint (push) Failing after 14s
Lint / lint (pull_request) Failing after 13s
2026-06-27 00:39:33 +05:30
cee345e3f0 feat: Unified Uninstallation and Rollback
- Removed `BOOTSTRAP_PACKAGES_DIR`
b rb <tool> can now uninstall that particular tool
2026-06-27 00:20:56 +05:30
0c16640593 refactor: Simplified pkg_install and pkg_remove
`pkg_install` and `pkg_remove` are just wrappers that map aliases and
directly invooke the system package manager.

- They do not manage state or inject rollback commands
2026-06-27 00:19:14 +05:30
d5c90d6e85 refactor: Use XDG compliant isolated directory structure
Some checks failed
Lint / lint (push) Failing after 21s
Lint / lint (pull_request) Failing after 16s
- Using $BOOTSTRAP_BIN, $BOOTSTRAP_OPT, etc
- Add defensive fallback for undefined vars in common.sh
2026-06-26 23:52:03 +05:30
4c1c7de0b7 refactor: Remove redundant curl availability checks
Some checks failed
Lint / lint (push) Failing after 56s
Lint / lint (pull_request) Failing after 1m5s
2026-06-26 21:49:24 +05:30
29de051b7d refactor: Remove standalone exec prevention code blocks from installers
Some checks failed
Lint / lint (push) Failing after 16s
Lint / lint (pull_request) Failing after 35s
2026-06-26 21:40:48 +05:30
a4e5bc1175 refactor: Remove legacy backwards compat code
Some checks failed
Lint / lint (push) Failing after 37s
Lint / lint (pull_request) Failing after 47s
Remove the configure shell code blocks
2026-06-26 21:37:11 +05:30
36c7be07b3 refactor: Migrate all installers to use installation strategies 2026-06-26 21:35:34 +05:30
0eaea2c997 refactor: Unify fragmented install strategies within installers
Some checks failed
Lint / lint (push) Failing after 33s
Lint / lint (pull_request) Failing after 17s
bat and yazi installers use latest binary releases from github over
package manager for arch and fedora
2026-06-26 20:19:19 +05:30
4eec27570e refactor: Installers use github_get_latest_release helpers
Some checks failed
Lint / lint (push) Failing after 14s
Lint / lint (pull_request) Failing after 13s
2026-06-26 20:11:54 +05:30
f5a266ff70 feat: Implement the github release helper with github.sh 2026-06-26 19:57:47 +05:30
c42687a710 feat: Added registry helpers for installers
Some checks failed
Lint / lint (push) Failing after 13s
Lint / lint (pull_request) Failing after 13s
2026-06-26 18:36:39 +05:30
7f3ff45f05 refactor: Use jq instead of custom posix complient json.sh
Some checks failed
Lint / lint (push) Failing after 14s
Lint / lint (pull_request) Failing after 15s
While json.sh worked decently for reading json files, I didn't want to
implement writing to json files as well and make it completely
unreadable due to the added complexity.

So, I think its better to just use jq and keep things relatively simple
with the tradeoff of a lightweight dependency
2026-06-26 18:19:23 +05:30
780e79364f fix #9: Add validation check for pkg_remove
Some checks failed
Lint / lint (push) Failing after 3m14s
Lint / lint (pull_request) Failing after 17s
2026-06-25 22:40:13 +05:30