refactor: finish moving ssh-* scripts to own installers
[webi-installers/.git] / pyenv / install.sh
1 #!/bin/bash
2
3 function __init_pyenv() {
4     set -e
5     set -u
6
7     curl -fsSL https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
8
9     if [ ! -f ~/.bashrc ] || [ -z "$(grep 'pyenv init' ~/.bashrc)" ]; then
10         echo '' >> ~/.bashrc
11         echo '# added by Webi for pyenv' >> ~/.bashrc
12         echo 'eval "$(pyenv init -)"' >> ~/.bashrc
13         echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
14     fi
15
16     if [ -n "$(command -v zsh)" ]; then
17         touch ~/.zshrc
18         if [ -z "$(grep 'pyenv init' ~/.zshrc)" ]; then
19             echo '' >> ~/.zshrc
20             echo '# added by Webi for pyenv' >> ~/.zshrc
21             echo 'eval "$(pyenv init -)"' >> ~/.zshrc
22             echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc
23         fi
24     fi
25
26     if [ -n "$(command -v fish)" ]; then
27         mkdir -p ~/.config/fish
28         touch ~/.config/fish/config.fish
29         if [ -z "$(grep 'pyenv init' ~/.config/fish/config.fish)" ]; then
30             echo '' >> ~/.config/fish/config.fish
31             echo '# added by Webi for pyenv' >> ~/.config/fish/config.fish
32             echo 'pyenv init - | source' >> ~/.config/fish/config.fish
33             echo 'pyenv virtualenv-init - | source' >> ~/.config/fish/config.fish
34         fi
35     fi
36
37     mkdir -p ~/.pyenv/bin
38     pathman add ~/.pyenv/bin
39
40     mkdir -p ~/.pyenv/shims
41     pathman add ~/.pyenv/shims
42
43     echo "NOTE: You may also need to CLOSE and RE-OPEN your terminal for pyenv to take effect."
44 }
45
46 __init_pyenv