-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerfile
More file actions
48 lines (48 loc) · 2.21 KB
/
Dockerfile
File metadata and controls
48 lines (48 loc) · 2.21 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
FROM alpine:3.20
LABEL MAINTAINER Seb Osp <kraige@gmail.com>
ENV L0_REFRESHED_AT 20240618
RUN set -xe \
&& apk add --update \
alpine-sdk ansible bash bat bind-tools bottom ca-certificates cmake \
curl fd file findutils findutils-locate fzf git go grep helm kubectl \
lazygit less lua man-pages mtr ncurses-terminfo neovim \
nmap-ncat nodejs npm openssh-client openssl perl perl-utils \
postgresql-client py3-pip py3-lsp-server python3 ripgrep screen shadow \
starship tar yq zip \
&& echo https://dl-cdn.alpinelinux.org/alpine/edge/testing >> /etc/apk/repositories \
&& apk add --update gosu \
&& git clone --depth 1 https://github.com/AstroNvim/template ~/.config/nvim \
&& curl -fLo /root/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
COPY files/plug-install.vim /root/.config/nvim/plug-install.vim
COPY files/init.vim /root/.config/nvim/init.vim-bkp
COPY files/starship.toml /root/.config/starship.toml
COPY files/coc-settings.json /root/.config/nvim/coc-settings.json
RUN set -xe \
&& nvim -E -s -u "/root/.config/nvim/plug-install.vim" +PlugInstall +qall \
&& npm install --global yarn \
&& yarn global add neovim \
&& mkdir -p "/root/.config/coc/extensions" \
&& cd /root/.config/coc/extensions \
&& if [ ! -f package.json ] ; then echo '{"dependencies": {}}' > package.json ; fi \
&& npm install \
coc-eslint \
coc-prettier \
coc-ultisnips \
coc-tsserver \
coc-json \
coc-html \
coc-css \
coc-fzf-preview \
coc-pyright \
--install-strategy=shallow --ignore-scripts --no-bin-links --no-package-lock --omit=dev \
&& nvim -E -s -u "/root/.config/nvim/plug-install.vim" +"CocInstall coc-rust-analyzer" +qall \
&& mkdir -p /usr/share/fzf \
&& curl -sLo /usr/share/fzf/key-bindings.bash https://raw.githubusercontent.com/junegunn/fzf/master/shell/key-bindings.bash \
&& updatedb
COPY files/bashrc /root/.bashrc
COPY files/screenrc /root/.screenrc
COPY files/entrypoint.sh /usr/local/bin/entrypoint.sh
RUN nvim +"LspInstall pyright" +qall \
&& nvim +"AstroUpdatePackages" +qall
CMD ["/bin/bash"]
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]