-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
62 lines (54 loc) · 1.85 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 alpine:edge
COPY .local/bin /root/.local/bin
COPY .config /root/.config
COPY shell/* /root/
# https://wiki.alpinelinux.org/wiki/How_to_get_regular_stuff_working
RUN set -x && apk add --no-cache \
util-linux coreutils binutils findutils grep docker \
docs \
neovim make g++ \
bat fzf git jq yq ripgrep curl \
go gopls \
python3 py3-pip \
shfmt shellcheck bash-completion \
npm \
&& npm i -g \
dockerfile-language-server-nodejs \
yaml-language-server \
pyright \
&& apk del npm \
&& nvim --headless -c "Lazy install" -c q \
&& nvim --headless -c "TSUpdate" -c q \
&& mkdir ~/tmp && cd ~/tmp \
&& curl -L \
"https://github.com/derailed/k9s/releases/download/v0.27.3/k9s_Linux_amd64.tar.gz" | \
tar xz \
&& curl -L \
"https://github.com/jesseduffield/lazygit/releases/download/v0.37.0/lazygit_0.37.0_Linux_x86_64.tar.gz" | \
tar xz \
&& curl -L \
"https://dl.k8s.io/release/v1.23.16/bin/linux/amd64/kubectl" \
-o ~/.local/bin/kubectl \
&& mv ./k9s ~/.local/bin/k9s \
&& mv ./lazygit ~/.local/bin/lazygit \
&& chmod +x ~/.local/bin/kubectl \
&& rm -rf ~/tmp \
&& sed -i 's/\/bin\/ash/\/bin\/bash/' /etc/passwd
ENV USER=root
ENV TERM="xterm-256color"
ENV HOME=/root
ENV PATH="$PATH:${HOME}/go/bin:$PATH:${HOME}/.cargo/bin:${HOME}/.local/bin/"
ENV EDITOR=nvim
ENV VISUAL=nvim
ENV FZF_DEFAULT_COMMAND="rg --files --hidden"
ENV FZF_LEGACY_KEYBINDINGS=0
CMD [ "bash" ]
# dockerfile-language-server-nodejs is used by docker-vscode
# https://github.com/microsoft/vscode-docker/blob/main/package.json
# yaml-language-server is used by vscode-yaml
# https://github.com/redhat-developer/vscode-yaml/blob/main/package.json
# vscode-langservers-extracted is maintained by the guy who maintains nvim-cmp
# https://github.com/hrsh7th/vscode-langservers-extracted
# removed for now:
# vscode-langservers-extracted \
# bash-language-server \