Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
WIP: reworked shell install, config, and select
dorothy: - move shell configuration entirely to `setup-shell`, which is the correct place for it - this is the correct location for it, and allows shell installations and uninstallations to correct configure, deconfigure, select, and deselect themselves - extract `fs-relocate` into its own command echo-file, echo-wait: - WIP fetch: - noramlise `wget` and `curl` variants of SIGPIPE failures into SIGPIPE failures, so the caller can act accordingly setup-dns: - fix help text setup-environment-commands: - consolidate prefix directory handling with new `add_prefix_dir` helper, which now handles all the complexities of such in a simpler and more robust way - add `XDG_PREFIX` var - the combination of changes here now enables building on macos without `setup-util-devel` needed setup-git: - add `--[no-]fallback`, `--no-extras`, and `--slim` support to support (de|re)configuration if uninstalling homebrew setup-mac-brew: - fix `setup-util-brew --uninstall` flow, as it may uninstall our current shell, so we should expect a crash and not do more stuff after the uninstall setup-shell: - handle installation, uninstallation, configuration, deconfiguration, selection and unselection, rather than just install/configure - this prevents issues when uninstalling dorothy, uninstalling homebrew, and uninstalling a specific shell - this guides the user through the installation process, for those who are YOLO no-RTFM users, or beginners who did RTFM but didn't understand any of it setup-util: - add `--configure` action to be a no-op on `--check` utilities - rename `--check=<cmd>` to `--checker=<cmd>` such that `--[no-]check` is a boolean that makes it easier to handle, and prevents conflicts when toggling - redid and simplied relevance algorithm - improved verbosity when building download deps, such that debugging is easier setup-util-bash: - `setup-environment-commands` has been updated to support building on macos without `setup-util-devel` - install to / uninstall from `XDG_PREFIX` when building - simpler prompt for changing login shell if outdated bash - update the build flags to include what bash reocmmends setup-util-brew: - fix uninstallation, fix `setup-dns` deconfiguration, fix `setup-git` deconfiguration setup-util-(gawk|gsed): - fix building, based on learnings from setup-util-bash setup-util-nu: - configure on other invokations than just install, but correctly document configuration can only occur if nu exists setup-util-zsh: - use the new `fs-relocate` command to ensure zsh configuration is in the correct location bash.bash: - add new helpers `__ignore_exit_status` and `__ignore_sigpipe` stdinargs.bash: - fix oudated comments explaining sigpipe and timeout handling todo: - [ ] echo-file, echo-wait reworking - [ ] config-helper auto-escalation - [ ] setup-util-$shell: call `setup-shell` when uninstalling, or on installation if non-quiet - [ ] setup-util-brew: uninstall: the login shell handling in this is added, but is nonsensical, fix it to run `setup-shell --no-brew` - [ ] ensure `setup-util "$@" --check` is updated for the new syntax
- Loading branch information