Commit Graph

109 Commits

Author SHA1 Message Date
Marc Cornellà
57e8c959a0
style(installer): use rainbow logo and polish success message (#10211) 2021-09-23 18:28:34 +02:00
Marc Cornellà
098bcda691
feat(update): allow updating from branch set up on install
Closes #8788

Co-authored-by: Nikolas Garofil <nikolas@garofil.be>
2021-09-22 09:27:43 +02:00
Marc Cornellà
02d07f3e3d
fix: use $USERNAME guaranteed to always be defined in zsh
Fixes #9701
2021-03-25 12:08:00 +01:00
Léa Gris
95a06f3927
refactor(installer): fix static analysis warnings (#9529)
* refactor(install.sh): fix static analysis warnings

Clear all warnings and errors raised by shellcheck.net static analysis.

- Replace non-POSIX shell use of `$OSTYPE` by POSIX compliant check on `uname -o`.
- Move variables out of`printf` format string.
- Refactor/simplify string formatters for error and underline.
- Fix expansion of arguments to a single string `$*` rather than individual elements `$@` within the error and underline formatters.

* fix(uname): non-posix -o option

* fix(install.sh): non portable which

Replaced non-portable `which zsh` by portable `command -v zsh`
2021-03-16 00:06:06 +01:00
Marc Cornellà
eef04c62c2 fix(installer): fix error message if $ZSH exists when installing
Also prefix all formatting functions with fmt_

Related: #9427
2020-11-09 20:06:19 +01:00
Marc Cornellà
03b6a72576 docs: document oneline argument passing to install script 2020-08-20 11:28:10 +02:00
Adam G. Emerson
93f8c0686c
docs: add fetch install command for FreeBSD (#9172)
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
2020-08-20 11:26:39 +02:00
Marc Cornellà
613045e7e5 Underline links in install and update script 2020-08-17 21:47:39 +02:00
Alex Zdanowicz
232cb19859
install: fix typo (#9069)
Changing 'your' to 'you'
2020-07-01 15:44:14 +02:00
Larson Carter
ce28ac42c8
Modernize install and update banners (#9045) 2020-06-28 22:06:13 +02:00
Michael Dorst
1a880fdb9b
installer: add option to install without replacing .zshrc (#8209)
* Add option to install OMZ without replacing .zshrc

tools/install.sh respects REPLACE_RC environment variable
--noreplace-rc flag sets REPLACE_RC='no'

* Change REPLACE_RC=no to KEEP_ZSHRC=yes

Change --noreplace-rc to --keep-zshrc
2020-02-25 22:42:39 +01:00
Jonathan Chang
0e57142729
installer: remove redundant cp command (#8668) 2020-02-24 20:39:10 +01:00
Marc Cornellà
b80b1a1e8b Actions to take after repository migration is complete (#8394)
* Change project URL from robbyrussell to ohmyzsh org

* Update git remote to use ohmyzsh org repository
2019-11-20 17:26:18 -08:00
Marc Cornellà
534ec60bfd Set default git-config values known to fix repository issues
- core.autocrlf=false -> #4069
- fsck.zeroPaddedFilemode -> #4963

Fixes #4069
Fixes #4963
2019-10-21 17:00:04 +02:00
Marc Cornellà
fd4571d1b0 installer: allow chsh to work in termux 2019-09-08 21:35:45 +02:00
Marc Cornellà
702a594df3 installer: don't rely on tput for coloring
tput is error-prone and may not be needed, since all the formatting
codes used are standard across all types of terminals.
2019-06-09 16:33:06 +02:00
Marc Cornellà
b944fee6ea installer: ask user about changing the shell to zsh 2019-06-03 17:18:25 +02:00
Marc Cornellà
0824dcc9fb installer: allow for tput errors
tput may throw errors on invalid $TERM values, for example.
This shorthand syntax allows for that as well as for if tput
doesn't exist.
2019-06-03 17:18:25 +02:00
Zach Whitten
2e54ba2dfb installer: restore previous default shell with uninstall
Co-authored-by: Antonio QUINTAVALLE <antonio.quintavalle@amadeus.com>
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
2019-06-03 17:18:25 +02:00
Marc Cornellà
66d6d08841 installer: improve message formatting and color 2019-06-03 17:18:25 +02:00
Marc Cornellà
b931d6a9db installer: change to --unattended argument and add docs 2019-06-03 17:18:25 +02:00
Marc Cornellà
065844fdc0 installer: comment changes 2019-06-03 17:18:25 +02:00
Marc Cornellà
1cf42a506f installer: add option to not run zsh at the end
Co-authored-by: Liquidsoul <liquidsoul@liquidsoul.fr>
Co-authored-by: Alexander Polynomdivision <digitalmail555@googlemail.com>
Co-authored-by: loket <loket@cruftlab.io>
Co-authored-by: Connor Demille <subtlepseudonym@gmail.com>
2019-06-03 17:18:25 +02:00
Marc Cornellà
a40d93295f installer: don't run zsh at the end
Co-authored-by: Joel Kuzmarski <leoj3n@gmail.com>
2019-06-03 17:18:24 +02:00
Marc Cornellà
794ff4a62d installer: add ability to skip the default shell change
Co-authored-by: Marshall Ford <inbox@marshallford.me>
Co-authored-by: Joel Kuzmarski <leoj3n@gmail.com>
2019-06-03 17:18:24 +02:00
Andrew Janke
43b3126b5c installer: use timestamped backups to preserve all old zshrcs 2019-06-03 17:18:24 +02:00
Marc Cornellà
153f5e11ed installer: use default color sequences on missing tput
Supposed to be POSIX-compatible. Proved to work in dash, yash and whatever
alpine uses. See https://unix.stackexchange.com/a/371873
2019-06-03 17:18:24 +02:00
Marc Cornellà
220d69b2ce installer: allow configuration of remote URL to clone from 2019-06-03 17:18:24 +02:00
Andrew Janke
aa27430e10 installer: add ability to install from forked & branched repos
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.
2019-06-03 17:18:24 +02:00
Marc Cornellà
a6a093ba2a installer: improve zsh binary path search in setup_shell
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>
2019-06-03 17:18:24 +02:00
Fran
9d2b3ce79f installer: fix for Solus OS and systems with no /etc/shells
Co-authored-by: Fredrik Fornwall <fredrik@fornwall.net>
2019-06-03 17:18:24 +02:00
Marc Cornellà
62216aaa8f installer: use guard clauses in setup_shell for better readability
Guard clauses are if constructs that return early if there is an error
that prevents continuing. This way there isn't a big nesting of if
expressions.
2019-06-03 17:18:23 +02:00
Raf Czlonka
8e10ac4d73 installer: make sure shell in /etc/shells is not commented
Otherwise we risk a situation where a full path to `zsh` is commented, i.e.:

    #/usr/local/bin/zsh
2019-06-03 17:18:23 +02:00
Luca S
73f29087f9 installer: replace the current shell with the new ZSH instance
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.
2019-06-03 17:18:23 +02:00
Marc Cornellà
1fdd5351fb installer: abstract error messages 2019-06-03 17:18:23 +02:00
Marc Cornellà
576499a5ad installer: fix for failed chsh quitting the installation 2019-06-03 17:18:23 +02:00
Marc Cornellà
a7bd1f99ae installer: extract most code into functions 2019-06-03 17:18:23 +02:00
Marc Cornellà
f94443925d installer: reorganise and add comments 2019-06-03 17:18:23 +02:00
Marc Cornellà
73ef051aae installer: use tabs to allow future heredocs
This will allow us to use tab stripping heredocs with `<<-'.
See http://www.tldp.org/LDP/abs/html/here-docs.html#EX71A

Add editorconfig file to enforce this style.
See http://editorconfig.org for more information.
2019-06-03 17:18:22 +02:00
Marc Cornellà
9a832cccef installer: use exit-on-error from the beginning 2019-06-03 17:18:22 +02:00
Guillermo Azurdia
9b2410fbcf Remove dots from installer URLs (#7780) 2019-04-18 23:08:07 +02:00
Robby Russell
f319aa845d
Updating Oh My Zsh shop URLs (#7619)
* Updating Oh My Zsh shop URLs

Linking directly to the Oh My Zsh inventory vs the top-level store with non-OMZ items.

* Updating link to Oh My Zsh products in the install script

* Updating link to Oh My Zsh shop products in the upgrade script

* Getting rid of 't-' in shirts for now
2019-02-25 19:22:07 -06:00
Jackson Delahunt
026e4e499e installer: make TEST_CURRENT_SHELL use basename (#7514)
Fixes #7492
2019-01-15 19:01:34 +01:00
Joel Kuzmarski
8f95637e67 Login shell after install (#5314)
Otherwise these files are not sourced:
  1. /etc/zprofile
  2. ~/.zprofile
  3. /etc/zlogin
  4. ~/.zlogin
  5. ~/.zlogout
  6. /etc/zlogout
2018-07-01 18:39:30 +02:00
Dan Wallis
fec0089cdd Quote $ZSH where necessary in install script (#6587)
Quote $ZSH where necessary in install script
2018-06-13 02:02:48 +02:00
ningwei1993
8f0ff4bb63 fix bug for check zsh (#6798) 2018-05-07 00:39:28 +02:00
Marc Cornellà
c4981bae0a installer: check if zsh in path instead of /etc/shells
Fixes #4955

Closes #5931
Closes #6398

Co-authored-by: Void <vst4rbot@gmail.com>
Co-authored-by: Kaleb Elwert <belak@coded.io>
2018-05-05 22:03:57 +02:00
Marc Cornellà
4fec0a46e7
[installer] use command -v to check for git
Quick fix to the script not finding git due to hash.
Solves #6697.
2018-04-17 22:14:23 +02:00
Doug Yun
2526d71c56 Use HTTPS for Planet Argon links (#6326) 2017-11-01 06:21:07 -07:00
Felipe Vargas
551abfcbb4 Remove undesirable hardcoding of PATH into zshrc (#4925)
See robbyrussell@b67961d
2016-06-16 21:56:34 +02:00