-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathDockerfile
73 lines (68 loc) · 1.87 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
63
64
65
66
67
68
69
70
71
72
73
FROM alpine:edge
LABEL maintainer "Jimmy Zelinskie <jimmyzelinskie+git@gmail.com>"
RUN \
echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \
apk upgrade --no-cache && \
apk add --no-cache \
# System \
ca-certificates \
man-pages \
sudo sudo-doc \
openssh openssh-doc \
zig \
zsh zsh-doc \
# Tools \
bat \
binwalk \
cloc cloc-doc \
curl curl-doc \
exa \
gdb gdb-doc \
graphviz graphviz-doc \
imagemagick imagemagick-doc \
jq jq-doc \
mysql-client \
nmap nmap-doc \
p7zip p7zip-doc \
percona-toolkit percona-toolkit-doc \
postgresql \
python2 python3 \
ripgrep \
rsync \
skim skim-doc skim-zsh-completion \
skopeo \
speedtest-cli \
sqlite sqlite-doc \
sshuttle \
terraform \
tmux tmux-doc \
xz xz-doc \
youtube-dl youtube-dl-doc youtube-dl-zsh-completion \
zstd zstd-doc \
# Version Control \
git git-doc \
hub hub-doc \
mercurial mercurial-doc \
# Editors \
neovim neovim-doc neovim-lang
SHELL ["/bin/zsh", "-c"]
RUN \
echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
adduser -D -G wheel jzelinskie
USER jzelinskie
WORKDIR /home/jzelinskie
ENV XDG_CONFIG_HOME=/home/jzelinskie/.config XDG_DATA_HOME=/home/jzelinskie/.local/share
COPY --chown=jzelinskie:wheel . $XDG_CONFIG_HOME/dotfiles/
RUN \
# Install dotfiles \
DOTFILES_NONINTERACTIVE=1 $XDG_CONFIG_HOME/dotfiles/install.zsh && \
# Rewrite clones to use https, instead of ssh \
sed -i '/github.com/d' $HOME/.gitconfig && \
git config --global url."https://github.com/".insteadOf git@github.com: && \
git config --global url."https://".insteadOf git:// && \
# Generate zsh config \
git clone "git@github.com:tarjoilija/zgen.git" "$XDG_DATA_HOME/zgen" && \
source $HOME/.zshrc && \
# Install nvim plugins \
nvim --headless -c 'autocmd User PackerComplete quitall' -c 'PackerSync'
ENTRYPOINT [ "zsh" ]