c8608c488c
* Dockerfile: add GNU tar native dependency `builtins.fetchTarball` requires GNU tar to be available in the $PATH in order to unpack the fetched tarball (there is a FIXME comment for this), which Alpine does not ship by default (it ships BusyBox tar). * Dockerfile: add GNU bash native dependency `nix-shell` defaults to invoking `bash` from the $PATH for the subshell. In theory this can be overriden with the NIX_BUILD_SHELL environment variable, but this does not work properly. `nix-shell` generates and passes a script (`$rcFile`) to be executed by the subshell which uses bashisms (`source` and `shopt`). Additionally, in interactive mode, `nix-shell` passes the `--rcfile` argument to the shell, which is another bashism. Because `bash` is thus de-facto required, add `bash` as a native package dependency to make it available for `nix-shell`.
23 lines
1.3 KiB
Docker
23 lines
1.3 KiB
Docker
FROM alpine
|
|
|
|
RUN wget -O- http://nixos.org/releases/nix/nix-1.11.2/nix-1.11.2-x86_64-linux.tar.bz2 | bzcat - | tar xf - \
|
|
&& echo "nixbld:x:30000:nixbld1,nixbld2,nixbld3,nixbld4,nixbld5,nixbld6,nixbld7,nixbld8,nixbld9,nixbld10,nixbld11,nixbld12,nixbld13,nixbld14,nixbld15,nixbld16,nixbld17,nixbld18,nixbld19,nixbld20,nixbld21,nixbld22,nixbld23,nixbld24,nixbld25,nixbld26,nixbld27,nixbld28,nixbld29,nixbld30" >> /etc/group \
|
|
&& for i in $(seq 1 30); do echo "nixbld$i:x:$((30000 + $i)):30000:::" >> /etc/passwd; done \
|
|
&& mkdir -m 0755 /nix && USER=root sh nix-*-x86_64-linux/install \
|
|
&& echo ". /root/.nix-profile/etc/profile.d/nix.sh" >> /etc/profile \
|
|
&& rm -r /nix-*-x86_64-linux \
|
|
&& apk --update add bash tar \
|
|
&& rm -rf /var/cache/apk/*
|
|
|
|
ONBUILD ENV \
|
|
ENV=/etc/profile \
|
|
PATH=/root/.nix-profile/bin:/root/.nix-profile/sbin:/bin:/sbin:/usr/bin:/usr/sbin \
|
|
GIT_SSL_CAINFO=/root/.nix-profile/etc/ssl/certs/ca-bundle.crt \
|
|
SSL_CERT_FILE=/root/.nix-profile/etc/ssl/certs/ca-bundle.crt
|
|
|
|
ENV \
|
|
ENV=/etc/profile \
|
|
PATH=/root/.nix-profile/bin:/root/.nix-profile/sbin:/bin:/sbin:/usr/bin:/usr/sbin \
|
|
GIT_SSL_CAINFO=/root/.nix-profile/etc/ssl/certs/ca-bundle.crt \
|
|
SSL_CERT_FILE=/root/.nix-profile/etc/ssl/certs/ca-bundle.crt \
|
|
NIX_PATH=/nix/var/nix/profiles/per-user/root/channels/
|