Previously, OS detection would happen on each invocation. This makes it
happen once (unless it fails, in which case it will try again on the
next invocation).
This has the additional benefit of localizing the platform-specific
checks and commands, too, versus spreading them out in separate
functions.
Ideally the parameter would just be removed-users could always
just do "clipcopy < some-file". but removing the parameter would break
backwards compatibility.
In any case, this simplifies the logic considerably.
The original suggestion for an unattended install downloads the installation script to a file, then runs that file with the --unattended argument. The install.sh file would be left behind after the suggested command was run.
This change passes the --unattended argument directly into sh. So, it's a nice one-liner like the default installation script, and it doesn't leave a dangling install.sh script.
* Use double quotes to cache value of $apt_pref and $apt_upgr
* Clean up and fix syntax of command checks
* Clean up README and document $apt_pref/$apt_upgr overriding mechanism
* Rename `ag` alias (apt upgrade) to `au`
* Clean up README and fix syntax
Fixes#3686Fixes#4660Closes#5906
Co-authored-by: Noah Vesely <fowlslegs@riseup.net>
* gitfast: use $OSTYPE again
In the last update to upstream this was reverted:
a56eac7a (Use OSTYPE instead of uname whenever possible for better speed. (#5496))
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
* gitfast: simplify plugin
No need to set and unset a variable we use once.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
* gitfast: add script to update from upstream
This would make easier the process of updating, and also not miss our
patches.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
* gitfast: update to upstream v2.21
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
This facilitates testing of changes to the core installation code: you'll be
able to do a roundtrip test of install and uninstall using the working code on
your branch.
Controlled by passing $REPO and $BRANCH environment variables to install.sh.
This changes the behavior to default to the binary found first in $PATH,
then checking it's actually in the shells file (/etc/shells).
If that fails go back to the previous behavior, but actually check that
the path obtained exists in the filesystem.
Co-authored-by: Joel Kuzmarski <leoj3n@gmail.com>
This replaces the currently running process with the new one using `exec`
instead of creating a new process. This way, when the user `exit`s out of
the new shell it will not pop them back into the shell from which ohmyzsh
was installed from.