-
Notifications
You must be signed in to change notification settings - Fork 12
/
Dockerfile
62 lines (52 loc) · 2.88 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
50
51
52
53
54
55
56
57
58
59
60
61
62
FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get -qq update; apt-get install -y \
curl \
git \
jq \
bash-completion \
dnsutils \
net-tools \
unzip \
tmux \
vim \
gettext-base
ENV KCTL_VERSION=v1.16.15
RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/${KCTL_VERSION}/bin/linux/amd64/kubectl \
&& chmod +x ./kubectl \
&& mv ./kubectl /usr/local/bin/kubectl
RUN curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
RUN curl -Ls https://github.com/lalyos/gotty/releases/download/v2.0.0-alpha.4/gotty_2.0.0-alpha.4_linux_amd64.tar.gz \
| tar -xz -C /usr/local/bin
RUN curl -L https://github.com/zyedidia/micro/releases/download/v1.4.1/micro-1.4.1-linux64.tar.gz \
| tar -xz -C /usr/local/bin/ --strip-components 1 micro-1.4.1/micro
RUN curl -LO https://github.com/simeji/jid/releases/download/0.7.2/jid_linux_amd64.zip \
&& unzip jid_linux_amd64.zip \
&& mv jid_linux_amd64 /usr/local/bin/jid
RUN curl -sL https://github.com/sharkdp/bat/releases/download/v0.17.1/bat-v0.17.1-x86_64-unknown-linux-gnu.tar.gz | tar -xz --strip-components=1 -C /usr/local/bin bat-v0.17.1-x86_64-unknown-linux-gnu/bat
RUN curl -Lo /usr/local/bin/caddy https://github.com/lalyos/caddy-v1-webdav/releases/download/v1.0.5/caddy-webdav-Linux && chmod +x /usr/local/bin/caddy
RUN cd "$(mktemp -d)" \
&& KREW="krew-linux_amd64" \
&& curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" \
&& tar zxvf "${KREW}.tar.gz" \
&& ./"${KREW}" install krew
RUN curl -L https://github.com/junegunn/fzf/releases/download/0.24.3/fzf-0.24.3-linux_amd64.tar.gz|tar -xz -C /usr/local/bin/
# install neovim with node and plugins
RUN curl -sL install-node.now.sh/lts | bash -s -- -f -V
RUN curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage \
&& chmod u+x nvim.appimage
RUN ./nvim.appimage --appimage-extract
ENV PATH=$PATH:/squashfs-root/usr/bin/
RUN curl -fLo /root/.local/share/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
RUN mkdir -p /root/.config/nvim/
RUN echo '{"yaml.schemas":{"kubernetes":["/*.yaml","/*.yml"]}}' > /root/.config/nvim/coc-settings.json
RUN echo "call plug#begin('~/.vim/plugged')\nPlug 'neoclide/coc.nvim', {'branch': 'release'}\ncall plug#end()" > /root/.config/nvim/init.vim
RUN nvim -E -s -u /root/.config/nvim/init.vim +PlugInstall +qall
COPY init.vim /root/.config/nvim/init.vim
RUN kubectl completion bash > /etc/bash_completion.d/kubectl
RUN helm completion bash > /etc/bash_completion.d/helm
ADD https://raw.githubusercontent.com/cykerway/complete-alias/master/complete_alias /etc/bash_completion.d/complete_alias
ADD motd /etc/motd
ADD https://gist.githubusercontent.com/lalyos/0d28f171b365fcea51f5345e97b43279/raw/mypropmt.sh /root/.prompt.sh
ADD bash_aliases /root/.bash_aliases