################################################################### # Dockerfile # # Version: 1 # Software: GNU Guix # Software Version: 0.11.0-ubuntu14.04 ################################################################### # Base image as Unbuntu FROM ubuntu:14.04 RUN apt-get update RUN apt-get -y install wget RUN apt-get -y install build-essential # Install Guix from binary RUN cd /tmp && wget ftp://alpha.gnu.org/gnu/guix/guix-binary-0.11.0.x86_64-linux.tar.xz RUN cd /tmp && wget ftp://alpha.gnu.org/gnu/guix/guix-binary-0.11.0.x86_64-linux.tar.xz.sig RUN gpg --keyserver pgp.mit.edu --recv-keys 090B11993D9AEBB5 RUN gpg --verify /tmp/guix-binary-0.11.0.x86_64-linux.tar.xz.sig RUN tar --warning=no-timestamp -xf /tmp/guix-binary-0.11.0.x86_64-linux.tar.xz RUN ln -sf /var/guix/profiles/per-user/root/guix-profile ~root/.guix-profile RUN groupadd --system guixbuild RUN for i in `seq -w 1 10`; do useradd -g guixbuild -G guixbuild -d /var/empty -s `which nologin` -c "Guix build user $i" --system guixbuilder$i; done RUN mkdir -p /usr/local/bin RUN ln -s /var/guix/profiles/per-user/root/guix-profile/bin/guix /usr/local/bin # Authorize hydra. Perhaps unnecessary in the future. RUN guix archive --authorize < ~root/.guix-profile/share/guix/hydra.gnu.org.pub # Start the daemon manually RUN echo "nohup ~root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild &" > /tmp/daemon-script.sh RUN bash /tmp/daemon-script.sh; guix pull