This is a partial revert of #7 where we added a copy of the initial
nix store to make sure it's not lost when we use a volume for the /nix
mounting point in the container.
However this was an unecessary duplication.
The initial nix store is already present in the docker image and can be
retrieved by using a “named” volume with `-v nix-store:/nix`, docker
will copy the /nix path of the image inside a volume called
`nix-store` on the host machine for us we don't need to it manually.
Of course if mounting an empty directory from the host machine (with
`-v /tmp/nix-store:/nix`) then the image won't boot (because docker
will NOT copy the content of the /nix path inside the image into the
/tmp/nix-store path of the host machine).
This change drastically reduces the image size (basically /2 as we
were duplicating the biggest source of disk space…)
```
REPOSITORY TAG IMAGE ID CREATED SIZE
docker-nix 2.3.4-vol
f74209e25515 About a minute ago 1.58GB
docker-nix 2.3.4
61880484ceb1 12 minutes ago 835MB
```
Let's be 🍃 instead of ⛰️
# < Nix context as a volume
# We want to be able to define /nix/store as a volume
-# We thus need to "save" the current nix context to be able
-# to restore it at startup time
-RUN cp -R /nix /home/nixuser/initial-nix
VOLUME ["/nix"]
# Create bash profile
COPY --chown=nixuser:nixuser files/.profile ${HOME}/.profile
# < Nix context as a volume
# We want to be able to define /nix/store as a volume
-# We thus need to "save" the current nix context to be able
-# to restore it at startup time
-RUN cp -R /nix /home/nixuser/initial-nix
VOLUME ["/nix"]
# Create bash profile
COPY --chown=nixuser:nixuser files/.profile ${HOME}/.profile
#!/usr/bin/env bash
-# Copy initial saved nix context if the /nix is empty
-[ ! "$(ls -A /nix)" ] && cp -R ~/initial-nix/* /nix/
-
# Source nix environment
nix_profile="/home/nixuser/.nix-profile/etc/profile.d/nix.sh"
# shellcheck source=/home/nixuser/.nix-profile/etc/profile.d/nix.sh