-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbuild_nvim_docker.sh
More file actions
53 lines (45 loc) · 2.13 KB
/
build_nvim_docker.sh
File metadata and controls
53 lines (45 loc) · 2.13 KB
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
#!/bin/bash
# This file takes as parameters:
# 1) the desired user name configured in the docker container
# 2) the vim installation directory
# 3) the current PATH variable
echo $#
if [ "$#" -ne "3" ]
then
echo "$0 requires the following arguments: USERNAME PATH_VARIABLE"
exit -1
fi
USERNAME=$1
PATH=$2
VIMDEV_PATH=$3
echo "USER root" >> Dockerfile
# Backup sudoers file
echo "RUN cp /etc/sudoers /etc/sudoers.bak" >> Dockerfile
# Add user to sudoers
echo "RUN usermod -aG sudo $USERNAME" >> Dockerfile
echo "RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers" >> Dockerfile
echo "USER $USERNAME" >> Dockerfile
echo "WORKDIR /home/$USERNAME/vim_install" >> Dockerfile
echo "COPY $VIMDEV_PATH/install_python_docker.sh /home/$USERNAME/vim_install/install_python_docker.sh" >> Dockerfile
echo "COPY $VIMDEV_PATH/install.sh /home/$USERNAME/vim_install/install.sh" >> Dockerfile
echo "COPY $VIMDEV_PATH/configs /home/$USERNAME/vim_install/configs">> Dockerfile
echo "ENV NPM_PACKAGES /home/$USERNAME/.npm-packages" >> Dockerfile
# We need to include miniconda as well!
echo "ENV PATH /home/$USERNAME/.npm-packages/bin:$PATH" >> Dockerfile
echo "RUN ./install_python_docker.sh" >> Dockerfile
echo "RUN ./install.sh" >> Dockerfile
echo "RUN echo alias vim='nvim'" >> Dockerfile
echo "RUN nvim --headless +PlugInstall +qall" >> Dockerfile
echo "RUN nvim --headless +'CocInstall -sync coc-snippets' +qall" >> Dockerfile
echo "RUN nvim --headless +'CocInstall -sync coc-prettier' +qall" >> Dockerfile
echo "RUN nvim --headless +'CocInstall -sync coc-jedi' +qall" >> Dockerfile
echo "RUN nvim --headless +'CocInstall -sync coc-highlight' +qall" >> Dockerfile
echo "RUN nvim --headless +'CocInstall -sync coc-eslint' +qall" >> Dockerfile
echo "RUN nvim --headless +'CocInstall -sync coc-json' +qall" >> Dockerfile
echo "RUN nvim --headless +'CocInstall -sync coc-git' +qall" >> Dockerfile
echo "RUN nvim --headless +'CocUpdateSync' +qall" >> Dockerfile
# Remove user from sudoers
echo "USER root" >> Dockerfile
echo "RUN deluser $USERNAME sudo" >> Dockerfile
echo "RUN mv /etc/sudoers.bak /etc/sudoers" >> Dockerfile
echo "USER $USERNAME" >> Dockerfile