-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
86 lines (65 loc) · 3.12 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
74
75
76
77
78
79
80
81
82
83
84
85
86
FROM kalilinux/kali-rolling
SHELL [ "/bin/bash", "--norc", "--noprofile", "-euxo", "pipefail", "-O", "nullglob", "-c" ]
ENV LANG C.UTF-8
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install --autoremove --no-install-recommends -y \
ca-certificates curl git gnupg \
&& rm -rf -- /var/lib/apt/lists/*
ARG CURL='curl -fsSL --tlsv1.2 --proto =https'
RUN $CURL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg
RUN echo 'deb https://download.docker.com/linux/debian bullseye stable' > /etc/apt/sources.list.d/docker.list
RUN $CURL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | gpg --dearmor -o /etc/apt/trusted.gpg.d/kubernetes.gpg
RUN echo "deb https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /" > /etc/apt/sources.list.d/kubernetes.list
RUN $CURL https://packages.cloud.google.com/apt/doc/apt-key.gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/google.gpg
RUN echo 'deb https://packages.cloud.google.com/apt cloud-sdk main' > /etc/apt/sources.list.d/google-cloud-sdk.list
RUN $CURL https://packagecloud.io/github/git-lfs/gpgkey | gpg --dearmor -o /etc/apt/trusted.gpg.d/git-lfs.gpg
RUN echo 'deb https://packagecloud.io/github/git-lfs/debian/ bullseye main' > /etc/apt/sources.list.d/git-lfs.list
RUN $CURL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/microsoft.gpg
RUN echo 'deb https://packages.microsoft.com/repos/azure-cli/ bullseye main' > /etc/apt/sources.list.d/azure.list
RUN $CURL https://packages.stripe.dev/api/security/keypair/stripe-cli-gpg/public | gpg --dearmor -o /etc/apt/trusted.gpg.d/stripe.gpg
RUN echo 'deb https://packages.stripe.dev/stripe-cli-debian-local stable main' > /etc/apt/sources.list.d/stripe.list
RUN $CURL 'https://packages.doppler.com/public/cli/gpg.DE2A7741A397C129.key' | gpg --dearmor -o /etc/apt/trusted.gpg.d/doppler.gpg
RUN echo 'deb https://packages.doppler.com/public/cli/deb/debian any-version main' > /etc/apt/sources.list.d/doppler.list
RUN $CURL 'https://apt.releases.hashicorp.com/gpg' | gpg --dearmor -o /etc/apt/trusted.gpg.d/hashicorp.gpg
RUN echo 'deb https://apt.releases.hashicorp.com bullseye main' > /etc/apt/sources.list.d/hashicorp.list
RUN $CURL 'https://mise.jdx.dev/gpg-key.pub' | gpg --dearmor -o /etc/apt/trusted.gpg.d/mise.gpg
RUN echo 'deb https://mise.jdx.dev/deb stable main' > /etc/apt/sources.list.d/mise.list
RUN apt-get update && \
apt-get install --autoremove --no-install-recommends -y \
bind9-dnsutils \
docker-ce \
file \
fish \
htop \
jq \
less \
make \
man \
ncat \
net-tools \
p7zip \
pinfo \
mise \
socat \
ssh \
tmux \
unrar \
unzip \
vim \
xattr \
xz-utils \
zip
RUN echo 'eval "$(mise env -s bash)"' > ~/.profile
RUN rm -rf -- ~/.* ~/* /etc/skel/
RUN mkdir -pm 0700 ~/.config /etc/skel
# Set fish as default shell for future users
RUN useradd -D -s /usr/bin/fish
ENV PATH="/config/bin:~/.local/bin:$PATH"
COPY /setup.sh /config/
COPY /bin/install-nushell /bin/gpm /config/bin/
RUN /config/setup.sh
RUN rm -rf -- /var/lib/apt/lists/*
COPY ./ /config
SHELL [ "/usr/bin/fish", "-c" ]
CMD ["fish", "-lc", "zellij -s main"]