Skip to content

Commit

Permalink
Merge pull request #3 from paulrbr-fl/add-debian-based
Browse files Browse the repository at this point in the history
Add debian based images
  • Loading branch information
paulrbr-fl committed Oct 31, 2018
2 parents dedbcf1 + 0366f36 commit 7a524a4
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 1 deletion.
7 changes: 6 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,12 @@ addons:
packages:
- docker-ce

matrix:
include:
- env: BASE_OS=alpine
- env: BASE_OS=debian

script:
- docker build --pull -t fretlink/nix .
- docker build --pull -t fretlink/nix ${BASE_OS}/
- docker run -it --rm fretlink/nix 'nix-channel --list'
- docker run -it --rm fretlink/nix 'nix-env -iA nixpkgs.hello && test "$(hello)" = "Hello, world!"'
File renamed without changes.
40 changes: 40 additions & 0 deletions debian/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Dockerfile to create an environment that contains the Nix package manager.
FROM debian:stable-slim

ARG NIX_VERSION
ENV NIX_VERSION ${NIX_VERSION:-2.1.3}
ARG LANG
ENV LANG ${LANG:-"en_US.UTF-8"}

RUN addgroup --gid 30000 --system nixbld \
&& for i in $(seq 1 30); do adduser --system --disabled-password --home /var/empty --gecos "Nix build user $i" --uid $((30000 + i)) --ingroup nixbld nixbld$i ; done \
&& adduser --disabled-password nixuser \
&& mkdir -m 0755 /nix && chown nixuser /nix \
&& apt update && apt install -y wget bzip2 \
&& apt clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

USER nixuser
ENV USER=nixuser
ENV HOME="/home/nixuser"

RUN cd && wget https://nixos.org/releases/nix/nix-$NIX_VERSION/nix-$NIX_VERSION-x86_64-linux.tar.bz2 \
&& tar xjf nix-*-x86_64-linux.tar.bz2 \
&& ~/nix-*-x86_64-linux/install \
&& rm -rf ~/nix-*-*

ENV ENV="/home/nixuser/.nix-profile/etc/profile.d/nix.sh"
RUN echo ". ${ENV}" >> ${HOME}/.profile
# All subsequent "RUN" will use a login shell
SHELL ["/usr/bin/env", "bash", "-l", "-c"]

RUN nix-channel --add https://nixos.org/channels/nixpkgs-unstable \
&& nix-channel --update

# Propagate UTF8
# https://github.com/NixOS/nix/issues/599#issuecomment-153885553
# The same is hapenning with stack2nix
RUN nix-env -iA nixpkgs.glibcLocales \
&& echo "export LOCALE_ARCHIVE=$(nix-env --installed --no-name --out-path --query glibc-locales)/lib/locale/locale-archive" >> ${HOME}/.profile

# Make sure to use "login" shell when running container
ENTRYPOINT ["/usr/bin/env", "bash", "-l", "-c"]

0 comments on commit 7a524a4

Please sign in to comment.