34 lines
893 B
Bash
34 lines
893 B
Bash
#! @shell@ -e
|
|
|
|
chrootenvDest=/run/chrootenv/@name@
|
|
|
|
# Bind mount the Nix store
|
|
mount --bind /nix/store $chrootenvDest/nix/store
|
|
|
|
# Bind mount some kernel related stuff
|
|
mount --bind /dev $chrootenvDest/dev
|
|
mount --bind /dev/pts $chrootenvDest/dev/pts
|
|
mount --bind /dev/shm $chrootenvDest/dev/shm
|
|
mount --bind /proc $chrootenvDest/proc
|
|
mount --bind /sys $chrootenvDest/sys
|
|
|
|
# Bind mount home directories
|
|
mount --bind /home $chrootenvDest/home
|
|
|
|
# Bind mount state directories
|
|
mount --bind /var $chrootenvDest/var
|
|
mount --rbind /run $chrootenvDest/run
|
|
|
|
# Bind mount the host system's /etc
|
|
mount --bind /etc $chrootenvDest/host-etc
|
|
|
|
# Bind mount the host system's /tmp
|
|
mount --bind /tmp $chrootenvDest/host-tmp
|
|
|
|
# Bind mount /tmp
|
|
mount --bind /tmp/chrootenv-@name@ $chrootenvDest/tmp
|
|
|
|
# Expose sockets in /tmp
|
|
for i in /tmp/.*-unix; do
|
|
ln -s "/host-tmp/$(basename "$i")" "$chrootenvDest/$i"
|
|
done
|