-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile.arch
37 lines (27 loc) · 1.06 KB
/
Dockerfile.arch
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
# archlinux:base-20241201.0.284684
FROM --platform=linux/amd64 archlinux@sha256:ad18112a3888d427b18a004309eff649418b68ddee0e71004c36b87630baac4c AS arch
ARG username=vortex
ARG skipExtras=false
ENV TZ=America/Los_Angeles
RUN pacman -Syu --noconfirm &&\
pacman -Sy --noconfirm curl sudo zsh &&\
pacman -Sy --noconfirm python3 python-pip &&\
pacman -Sy --noconfirm go &&\
pacman -Sy --noconfirm nodejs npm
RUN \
useradd -ms /usr/bin/zsh $username &&\
echo "$username ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/$username &&\
chmod 0440 /etc/sudoers.d/$username &&\
chown -R $username:$username /home/$username &&\
rm -rf /etc/profile.d &&\
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime &&\
echo $TZ > /etc/timezone
USER $username
WORKDIR /home/$username/
RUN curl --proto '=https' --tlsv1.2 -fsLS https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile default
ENV PATH="/home/$username/.cargo/bin:${PATH}"
ENV DRY_RUN="$skipExtras"
COPY --chown=$username:$username . .dotfiles
RUN ./.dotfiles/install.sh
ENTRYPOINT ["/bin/zsh"]
CMD ["--login"]