-
-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
improve installation experience #281
Open
balupton
wants to merge
40
commits into
master
Choose a base branch
from
dev/devilbird
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bash.bash: - change `__can_read_decimal_timeout` to `BASH_CAN_READ_DECIMAL_TIMEOUT` - add `BASH_CAN_*` capability variables, notably: `BASH_CAN_READ_I`, `BASH_CAN_PIPE_STDOUT_AND_STDERR_SHORTHAND` bash.bash, zsh.zsh: - fix `\m` being output instead of `\n` in `__print_value_lines_or_line`
…me as `curl` caused by `-quiet` instead of `--quiet`, however `--no-verbose/-nv` is actually desired, as it makes errors outputted which is what we do for our `curl` implementation /regression since 8292276 - 8292276#diff-fc2bc2f535254e954ecf9c2585d7ea395d07d1a59e2177638631d7981d2db9d8L101-R141 as this is a 2 year old bug, this was never encountered in practice because `curl` is the preferred implementation and `curl` is dep of dorothy so it is always used in practice
blame goes back to 686a1ba this is a non-functional bug, as the checks will just ignore it as it doesn't exist the bug is that `("${@:1}")` includes the title, whereas we just want the paths
…to support paths with a leading dash
…eady knows they are setup, enables quicker debugging
… terms of overriding the actions default behaviour and being the preference
thanks to our shim in `bash.bash` it is always available also fixes a double load of `bash.bash` in `get-array`
This was referenced Feb 9, 2025
cspell: - update spellcheck for new utilities command-working: - add `ssh` to exceptions, this was needed as `setup-util-ssh` now checks for `ssh` as it handles the client too, which does a `ssh` check cpr, fs-diff: - update and correct comments on tooling and installers dorothy: - completely rewrote the user configuration setup process to reduce friction, streamline UX for beginners and pros, and eliminate fragility - questions now have descriptions for YOLO no-RTFM users who install first and expect the installation to walk them through the project, shoutout to our YOLO user `@christianaudigeur6177` on youtube - incentives authentication with github and gitlab to offer a superior repo creation/verification experience, and to prevent rate limiting /close #225 /improves #270 - able to now detect renamed github repositories if using the github cli, and prompts the user for what to do /ref #225 - robust and intuitive fallbacks if any step fails - clear and robust strongbox setup, with improved description and flow, no longer waits for confirm as we now auto-verify - strongbox and dorothy repo detection is now offloaded to `git-helper` rather than fetch, this means it now works on all repositories not just public github repositories, with none of the fragility, /close #266 - remove a legacy `__require_array 'mapfile'` /ref c158b97 get-installer: - update aliases for the updated `setup-util-*` comments git-helper: - add `get-remote-file`, `has-remote-file`, `is-dorothy`, `is-strongbox` actions - correct `--` usage in help text - remote selection skips confirmation if there is only one remote add: - `setup-util-croc` intended for `cpr` and dorothy strongbox init - `setup-util-diff` extracted from `setup-util-git` - `setup-util-diff-so-fancy` intended for `fs-diff` - `setup-util-difftastic` intended for `fs-diff` - `setup-util-git-lfs` extracted from `setup-util-git` - `setup-util-gitell` extracted from `setup-util-git` - `setup-util-magic-wormwhole` intended for `cpr` and dorothy strongbox init - `setup-util-meld` extracted from `setup-util-git` - `setup-util-pinentry` extracted from `setup-util-git` - `setup-util-ssh` handles the client and server, previously `setup-util-sshd` only handled server, that is not deprecated - `setup-util-ssh-askpass` extracted from `setup-util-git` - `setup-util-termscp` intended for `cpr` and dorothy strongbox init setup-util: - check is no longer constrained to `--quiet` mode, as we can just output the necessary text, this dramtically improves the successful checks which prevents DOWNLOAD determinations hitting the GitHub API causing Rate Limit encounters during the intial non-quiet dorothy setup experience /improves #270 setup-util-*: - changed `setup-util "$@" --check --cli=<cli>` to `setup-util --check --cli=<cli> "$@"`, such that `--no-check` can be passed by the user to disable the checks setup-util-gh: - clearer messaging on why one would want to authenticate setup-util-git: - extract extra installers into their own `setup-util-*` scripts setup-util-node: - correct a syntax for a `git-helper` call docs/private-configuration: - update for new strongbox flow deprecated: - `setup-util-sshd` has been replaced by `setup-util-ssh` which now handles both client and server
07d5d80
to
cb51e8f
Compare
/continues f53c564 echo-unique: - new command that supports arguments, and stdin content without sorting choose: - fix ctrl+c not returning to default screen buffer dorothy, fs-relocate: - fix bad refactor of last commit echo-file: - don't output separator between files, as we don't want that in all use cases git-helper: - add `--no-confirm-solo` to protocol prompt - add repository details to all sensible prompts setup-shell: - fix the broken implementation of before - add installed and configured shell detection and use it when merging with preferences - add version detection - don't crash on unconfigurable shells - improved formatting - fix crash on deconfigure setup-util: - lint remaining todos: - [ ] config-helper sudo escalation - [ ] find out why xonsh is not getting installed - [ ] find out why all the shells aren't be configured correctly - [ ] save configuration updates Co-authored-by: hjalmar jakobsson <[email protected]>
a6cf1a7
to
b56a2bc
Compare
had to split allow/disallow and login, as the flow was too confusing with them as one now actions are: install/uninstall, configure/deconfigure, allow/disallow, login implemented the arg handling fixed duplication and detection and exclusions etc for basenames and paths also innovated with ksh and dash config loading, they can now be toggled independently need to apply configuration saving now, setup-util-$shell configuration/deconfiguration, etc also fix linting issues
b56a2bc
to
2fce747
Compare
balupton
added a commit
that referenced
this pull request
Feb 21, 2025
people had confusion about what was installed when, and for what reasons
This was referenced Mar 6, 2025
1dbaa58
to
2c94ff6
Compare
- new `__do` and `__try`, instead of `eval_capture` - better coverage and tests, see `dorothy-internals` - more powerful API - new `is-fs` helpers - new `echo-wait` (maybe should rename to `echo-write`) - no longer needs sponge - more powerful API - moreutils as such is no longer a dorothy recommended dep - auto-sudo escalation on nearly everything - new sudo/elevate/elevated args - use FDs instead of device files where sensible to avoid linux divergence from macos - ... todo
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
WIP
Closes:
setup-util-brew --uninstall
has several flows that requiresbrew
#278eval_capture
has a race condition that can cause CI to fail #277setup-shell
when no configuration should prompt which shell to use #271setup-util
support for streamlined{bin,man,lib,etc}
extraction #223May close:
Improves:
get-installer
intosetup-util
, such that I can dosetup-util --cli='thing'
and it'll work #282Discards old implementation of:
Todos:
Current batch todos, in any order: