mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-03-13 03:12:21 +01:00
As reported in #3459, the README file suggests an insecure download and execution via HTTP instead of HTTPS. However, before this essential migration to HTTPS is completed, this patch adds checksums that will allow users to verify the authenticity of their download. The authenticity of the checksums is assured because it will be viewed on an HTTPS-served GitHub page on the correct author username (robbyrussell). I have verified this checksum by downloading the HTTP script from two different network topologies: 1. The Google corporate network 2. The Linode network I also visually verified that the script code is not malicious. I have also compared it with the HTTPS-served script at this location and found it to be identical: https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh This comes from an HTTPS connection from a valid GitHub domain which ensures that the owner (robbyrussell) has pushed this file as long as we trust GitHub and PKI. This commit is signed with my personal GPG key for authenticity. The reviewer should also verify the checksum is correct. Thanks for helping keep users secure. Fixes #3459
125 lines
4.9 KiB
Text
125 lines
4.9 KiB
Text
!https://s3.amazonaws.com/ohmyzsh/oh-my-zsh-logo.png!
|
||
|
||
@oh-my-zsh@ is an open source, community-driven framework for managing your "Zsh":http://www.zsh.org/ configuration.
|
||
|
||
It comes bundled with a ton of helpful functions, helpers, plugins, themes, and a few things that make you shout…
|
||
|
||
bq. "OH MY ZSHELL!"
|
||
|
||
h2. Setup
|
||
|
||
@oh-my-zsh@ should work with any recent release of "Zsh":http://www.zsh.org/. The minimum recommended version is *4.3.9*.
|
||
|
||
If not already installed, you can install "Zsh":http://www.zsh.org/ using the command-line.
|
||
|
||
h3. The automatic installer… do you trust me?
|
||
|
||
You can install this via the command-line with either @curl@ or @wget@.
|
||
|
||
h4. via @curl@:
|
||
|
||
@curl -L http://install.ohmyz.sh > ohmyz.sh@
|
||
@openssl sha256 ohmyz.sh@
|
||
|
||
Verify that the checksum is correct:
|
||
@SHA256(ohmyz.sh)= ad4290f1234ced4f9f344868422e194764d076255df806d90a6bb5bc96c77fb9@
|
||
|
||
Then run:
|
||
@sh ohmyz.sh@
|
||
|
||
h4. via @wget@:
|
||
|
||
@wget --no-check-certificate http://install.ohmyz.sh -O ohmyz.sh@
|
||
@openssl sha256 ohmyz.sh@
|
||
|
||
Verify that the checksum is correct:
|
||
@SHA256(ohmyz.sh)= ad4290f1234ced4f9f344868422e194764d076255df806d90a6bb5bc96c77fb9@
|
||
|
||
Then run:
|
||
@sh ohmyz.sh@
|
||
|
||
h4. *Optionally*, change the install directory:
|
||
|
||
The default location is @~/.oh-my-zsh@ (hidden in your home directory).
|
||
|
||
You can change the install directory with the @ZSH@ environment variable, either by running @export ZSH=/your/path@ before installing, or by setting it before the end of the install pipeline like this:
|
||
|
||
@curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | ZSH=~/.dotfiles/zsh sh@
|
||
|
||
h3. The manual way
|
||
|
||
1. Clone the repository:
|
||
|
||
@git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh@
|
||
|
||
2. *Optionally*, backup your existing @~/.zshrc@ file:
|
||
|
||
@cp ~/.zshrc ~/.zshrc.orig@
|
||
|
||
3. Create a new "Zsh":http://www.zsh.org/ config file by copying the "Zsh":http://www.zsh.org/ template we've provided:
|
||
|
||
@cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc@
|
||
|
||
4. Set "Zsh":http://www.zsh.org/ as your default shell:
|
||
|
||
@chsh -s /bin/zsh@
|
||
|
||
5. Start or restart "Zsh":http://www.zsh.org/ by opening a new command-line window.
|
||
|
||
h3. Problems?
|
||
|
||
You _might_ need to modify your @PATH@ in @~/.zshrc@ if you're not able to find some commands after switching to @oh-my-zsh@.
|
||
|
||
If you installed manually or changed the install location, check the @ZSH@ environment variable in @~/.zshrc@.
|
||
|
||
h2. Usage
|
||
|
||
* enable the plugins you want in your @~/.zshrc@ (take a look at the @plugins/@ directory and the "wiki":https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins to see what's available)
|
||
** example: @plugins=(git osx ruby)@
|
||
* theme support: change the @ZSH_THEME@ environment variable in @~/.zshrc@
|
||
** take a look at the @themes/@ directory and the "wiki":https://wiki.github.com/robbyrussell/oh-my-zsh/themes to see what comes bundled with @oh-my-zsh@
|
||
* & much, much more… take a look at the @lib/@ directory to see what @oh-my-zsh@ has to offer…
|
||
|
||
h2. Useful
|
||
|
||
The "refcard":http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty useful for tips.
|
||
|
||
h3. Customization
|
||
|
||
If you want to override any of the default behaviors, just add a new file (ending in @.zsh@) in the @custom/@ directory.
|
||
|
||
If you have many functions that go well together, you can put them as a @*.plugin.zsh@ file in the @custom/plugins/@ directory and then enable this plugin (see '"Usage":https://github.com/robbyrussell/oh-my-zsh#usage' above).
|
||
|
||
If you would like to override the functionality of a plugin distributed with @oh-my-zsh@, create a plugin of the same name in the @custom/plugins/@ directory and it will be loaded instead of the one in @plugins/@.
|
||
|
||
h3. Updates
|
||
|
||
By default you will be prompted to check for upgrades. If you would like @oh-my-zsh@ to automatically upgrade itself without prompting you, set the following in your @~/.zshrc@:
|
||
|
||
@DISABLE_UPDATE_PROMPT=true@
|
||
|
||
To disable upgrades entirely, set the following in your @~/.zshrc@:
|
||
|
||
@DISABLE_AUTO_UPDATE=true@
|
||
|
||
To upgrade directly from the command-line, just run @upgrade_oh_my_zsh@.
|
||
|
||
h3. Uninstalling
|
||
|
||
If you want to uninstall @oh-my-zsh@, just run @uninstall_oh_my_zsh@ from the command-line and it'll remove itself and revert you to @bash@ (or your previous "Zsh":http://www.zsh.org/ configuration).
|
||
|
||
h2. Help out!
|
||
|
||
I'm far from being a "Zsh":http://www.zsh.org/ expert and suspect there are many ways to improve – if you have ideas on how to make the configuration easier to maintain (and faster), don't hesitate to fork and send pull requests!
|
||
|
||
h3. (Don't) send us your theme (for now)!
|
||
|
||
-I'm hoping to collect a bunch of themes – you can see existing ones in the @themes/@ directory.-
|
||
|
||
We have enough themes for the time being. Please fork the project and add on in there – you can let people know how to grab it from there.
|
||
|
||
h2. Contributors
|
||
|
||
This project wouldn't exist without all of our awesome users and contributors: "view our growing list of contributors":https://github.com/robbyrussell/oh-my-zsh/contributors
|
||
|
||
Thank you so much!
|