`repo-parse`: `handler_cond` -> `handler_search`
[aurutils.git] / docker / Dockerfile
blobbfeea936020209bf9d91ea5fd3f1097f3ec0b95c
1 FROM archlinux:latest
2 LABEL name=aurutils
4 # packages, time zone
5 RUN pacman -Syu --noconfirm --needed base base-devel
6 RUN pacman -Syu --noconfirm pacutils git shellcheck vim vifm bash-completion zsh man-db man-pages ninja perl-json-xs
7 RUN ln -fs /usr/share/zoneinfo/Europe/Berlin /etc/localtime
9 # unprivileged user
10 ARG USERNAME=archie
11 RUN useradd -m -s /bin/bash $USERNAME
12 RUN install -o $USERNAME -dm755 /home/$USERNAME/.local && \
13     install -o $USERNAME -dm755 /home/$USERNAME/.local/bin
14 ENV PATH "/home/${USERNAME}/.local/bin:$PATH"
16 # locales
17 RUN echo en_US.UTF-8 UTF-8 > /etc/locale.gen && locale-gen
18 ENV LANG en_US.UTF-8
20 # sudoers
21 RUN echo $USERNAME ALL=\(root\) NOPASSWD: /usr/bin/pacman > /etc/sudoers.d/$USERNAME-pacman && \
22     chmod 0440 /etc/sudoers.d/$USERNAME-pacman
24 # local repository
25 ARG REPO_DB=/home/custompkgs/custom.db.tar.gz
26 RUN install -o $USERNAME -dm755 /home/custompkgs && \
27     sudo -u $USERNAME repo-add $REPO_DB
29 ARG PACMAN_CONF=/etc/pacman.conf
30 RUN perl -0777 -pi -e 's/#(\[custom\])\n#(SigLevel.*)\n#(Server.*)\n/$1\n$2\n$3\n/' $PACMAN_CONF && \
31     pacsync custom
33 # aurutils volume
34 VOLUME /home/$USERNAME/aurutils
35 WORKDIR /home/$USERNAME/aurutils
37 CMD ["/bin/bash"]