add dockerfile

pull/6/head
bretello 2022-01-30 18:09:35 +01:00
parent f48e6fa773
commit 927601f444
Signed by: brethil
GPG Key ID: 876AAC6290170FE7
2 changed files with 77 additions and 0 deletions

1
.dockerignore 100644
View File

@ -0,0 +1 @@
.git

76
Dockerfile 100644
View File

@ -0,0 +1,76 @@
FROM archlinux:latest as base
ENV TERM=xterm-256color
ENV DOTFILES=/root/.dotfiles
RUN pacman --noconfirm -Syu && pacman --noconfirm -Sy \
vim \
tmux \
git \
fzf \
base-devel \
ipython \
python-pip \
htop \
python-pylint \
python-virtualenv \
bash-language-server \
&& rm -rf /var/cache/pacman/pkg/*
FROM base as yay_builder
# prepare nobody makepkg user
RUN mkdir /home/build && \
chgrp nobody /home/build && \
chmod g+ws /home/build && \
setfacl -m u::rwx,g::rwx /home/build && \
setfacl -d --set u::rwx,g::rwx,o::- /home/build
RUN sudo pacman -Sy --noconfirm go && rm -rf /var/cache/pacman/pkg/*
# Cannot run makepkg as root
USER nobody
RUN git clone https://aur.archlinux.org/yay.git /home/build/yay
WORKDIR /home/build/yay
RUN env GOCACHE=/home/build makepkg
USER root
RUN pacman --noconfirm -U /home/build/yay/*zst
FROM base as final
WORKDIR /root
RUN pacman -Sy --noconfirm zsh
RUN chsh -s /bin/zsh
COPY --from=yay_builder /home/build/yay/*zst /tmp/
RUN pacman --noconfirm -U /tmp/*zst && rm -rf /tmp/*zst
# bretellofier
RUN pip --no-cache install --upgrade pip git+https://git.decapod.one/brethil/bretellofier
# antibody
RUN curl -sL https://git.io/antibody | sh -s - -b /usr/local/bin
# vim-plug
RUN curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
COPY . /root/.dotfiles
WORKDIR /root/
RUN echo "source $DOTFILES/brethil_dotfile.sh" >> .zshrc
RUN ln -s $DOTFILES/vim/vimrc .vimrc
RUN ln -s $DOTFILES/tmux.conf .tmux.conf
RUN echo -e "[include]\npath = $DOTFILES/gitconfig" >> .gitconfig
# Install vim plugins
RUN vim -c 'PlugInstall|qa!' &>/dev/null || echo "installed vim plugins"
# Install zsh plugins
RUN antibody update
CMD tmux