-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
49 lines (32 loc) · 1.13 KB
/
Dockerfile
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
FROM alpine:3.13.1
RUN mkdir /root/workdir
RUN apk add --no-cache gcc clang neovim git openssh nodejs npm clang-extra-tools python3 py3-pip valgrind gdb build-base bash
# sh
ARG PROMPT=🐋
ARG USER=marvin
ENV USER=${USER}
COPY dotfiles/shrc /shrc
RUN cat /shrc >> /etc/profile ; \
rm shrc ; \
sed -i "s/{{PROMPT}}/$PROMPT/g" /etc/profile
# norminette
RUN python3 -m pip install --upgrade pip setuptools && \
python3 -m pip install norminette
# nvim
ENV XDG_CONFIG_HOME /home/.config
RUN mkdir -p $XDG_CONFIG_HOME/nvim
COPY dotfiles/vimrc $XDG_CONFIG_HOME/nvim/init.vim
# vim-plug
RUN mkdir -p $XDG_CONFIG_HOME/nvim/autoload && \
wget -O $XDG_CONFIG_HOME/nvim/autoload/plug.vim \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim && \
nvim --headless -c PlugInstall -c qall > /dev/null
# coc
COPY dotfiles/coc-settings.json $XDG_CONFIG_HOME/nvim/
RUN nvim --headless -c "CocInstall coc-clangd" -c qall > /dev/null
COPY norminette-lsp /usr/bin
# docker_entrypoint
COPY dotfiles/docker_entrypoint.sh /docker_entrypoint.sh
WORKDIR /root/workdir
CMD sh /docker_entrypoint.sh && /bin/bash -l