summaryrefslogtreecommitdiff
path: root/utils/install.sh
blob: 14713cc7eda86a5129f6608c4dceeefbfc20f375 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/bash

set -o nounset    # error when referencing undefined variable
set -o errexit    # exit when command fails


installnode() { \
    echo "installing node..."
    curl -sL install-node.now.sh/lts | bash
    npm i -g neovim
}

installpip() { \
    echo "installing pip..."
    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    python3 get-pip.py
    rm get-pip.py
}

installpynvim() { \
    echo "installing pynvim..."
    pip install pynvim
}

cloneconfig() { \
    echo "cloning Nvim Mach 2 configuration"
    git clone https://github.com/ChristianChiarulli/nvim.git ~/.config/nvim
}

moveoldnvim() { \
    echo "moving your config to nvim.old"
    mv $HOME/.config/nvim $HOME/.config/nvim.old
}

installplugins() { \
    "Installing plugins..."
    nvim --headless +PlugInstall +qall > /dev/null 2>&1
}

# Welcome
echo 'Installing Nvim Mach 2'

# install node and neovim support
which node > /dev/null && echo "node installed, moving on..." || installnode

# install pip
which pip > /dev/null && echo "pip installed, moving on..." || installpynvim

# install pynvim
pip list | grep pynvim > /dev/null && echo "pynvim installed, moving on..." || installpynvim

# pull config down
[ -d "$HOME/.config/nvim" ] && moveoldnvim 

cloneconfig

# install plugins
which neovim > /dev/null && installplugins

# Install extensions
mkdir -p ~/.config/coc/extensions
cd ~/.config/coc/extensions
if [ ! -f package.json ]
then
  echo '{"dependencies":{}}'> package.json
fi
# Change extension names to the extensions you need
npm install coc-explorer coc-snippets coc-json --global-style --ignore-scripts --no-bin-links --no-package-lock --only=prod