Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Add an installation script #231

Open
sorin-ionescu opened this Issue · 17 comments
@sorin-ionescu

A one line, curl based installation may increase adoption.

@pismute pismute referenced this issue from a commit
Commit has since been removed from the repository and is no longer available.
@tombh

Where is this idea at?

I just tried installing Prezto using the existing installation instructions;

setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

But it didn't work because I already had ~/.zshrc installed, so of course zprezto/init.sh was never being run. This has taken me a good hour or so to figure out :(

My suggestion would be to have an installation script that prompted the user if .zshrc, or any other rc file already existed.

BTW, I love Prezto and it's way better than OMZ :D

@sorin-ionescu

If you write the script, I'll have a look.

@tombh

At the very least it would be good to just change the README to describe how .zshrc needs to source init.sh

But an even better solution would be something along the lines of this pull request.

:)

@tombh

I am the same person that suggested this pull request to provide an install script. The main reason I wrote it was to address the issue I mentioned a couple of comments above here. Namely that the installation instructions in the current README fail when there is an existing .zshrc

If you don't think an install.sh would be a suitable inclusion for the repo I would suggest that a small note be added to the README to remind the user to check that .zshrc has been succesfully linked or copied from prezto, otherwise the all-important zprezto/init.sh will never load.

@sorin-ionescu sorin-ionescu referenced this issue from a commit in loranger/prezto
@loranger loranger [Add] Installer ec0b931
@bensaufley

But it didn't work because I already had ~/.zshrc installed, so of course zprezto/init.sh was never being run. This has taken me a good hour or so to figure out :(

Just wanted to put a +1 here. Same thing happened to me, after freshly installing zsh through homebrew – I'm assuming if it happened to me without having run any customization or anything previously, it's likely to be happening regularly. Even a note, or something, that covered this contingency: "if these files exist, you may need to copy the code in yourself" or something

@florrain

+1 a one line install command would be awesome !

@al-the-x

This happened to more than a couple of my students at @theironyard who followed the install instructions. The first time zsh is run on Mac OS X, it very helpfully attempts to lead you through an initial configuration, which has the side-effect of creating a .zshrc file. Adding a --force flag to the ln command in the Prezto install docs will clobber that initially empty .zshrc file, but that might not be the best approach for folks switching to Prezto from OMZ or hand-crafted configs. Better to look for existing files and move or offer to move them?

Somewhat unrelated, the install and usage instructions recommend editing .zpreztorc to add modules and set prompt theme, etc, but if Prezto is installed as a clone of this repo and the files in runcoms are symlinked into ~, I can't very well commit my changes into my normal dotfiles repo, as one might expect. Happy to open a separate discussion on that point, of course, and submit PRs. The outcome of the two discussions seem intertwined, however, as the install script / instructions should reflect best practices for usage, maintenance, and upgrades.

@sorin-ionescu
@ebello

+1 for this. I also had to use -f for the ln command in order for Prezto to work.

@thallam

+1

@devinrhode2

It was strongly disheartened after uninstalling OMZ at a whim and installing Prezto, only to see an extremely raw prompt:

devin%

FORTUNATELY I found this answer by googling "uninstally prezto" which led me to this issue. brew install prezto and brew uninstall prezto would be a stellar improvement - of course prezto would need to be accessible via linux package managers too

@sorin-ionescu

Prezto is not in Homebrew. Prezto is meant to be used via Git, not package managers.

@tombh

Just to make it clear, the main issue people are having is not that lack of an installation script (whether that is through a package manager or a curl one liner). It is the simple fact that the current installation instructions in the README fail, if you already have an existing .zshrc. So in @devinrhode2's case, and anyone else coming from OMZ, then they will have a problem because .zshrc already exists.

The absolute most simple solution here is just a note in the README that .zshrc must not already exist. Or if it does, then the sourcing of zprezto/init.sh must be manually added.

@monfresh

+1 on adding a quick note in the README that you must move or rename your existing .zshrc. I just ran into this as well.

For a longer term solution, would it not be possible for Prezto to append the sourcing lines to any existing .zshrc?

@pickfire

+1 to curl ... | sh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.