diff options
| author | Mike Vink <mike.vink@stater.nl> | 2023-05-16 23:07:10 +0000 |
|---|---|---|
| committer | Mike Vink <mike.vink@stater.nl> | 2023-05-16 23:07:10 +0000 |
| commit | af401bc667731d518be48e60969f6f5a7dd44513 (patch) | |
| tree | 283a8fab29f13f4c42a5b15e3d3e09b62b714796 /shell-scripts/nix-up | |
| parent | 8dc76fc18e6bcae83f938ca3452f62aa5c28f2a7 (diff) | |
fixup
Diffstat (limited to 'shell-scripts/nix-up')
| -rw-r--r-- | shell-scripts/nix-up | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/shell-scripts/nix-up b/shell-scripts/nix-up deleted file mode 100644 index 03d911a..0000000 --- a/shell-scripts/nix-up +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/bash -case "${@}" in - bootstrap-store) - [[ -d ${HOME}/nix ]] || { - docker create --name nix-data nixos/nix sh >/dev/null 2>&1 - sudo docker cp nix-data:/nix / - docker rm nix-data - } - docker create -v ${HOME}/nix:/nix --name nix-data nixos/nix sh >/dev/null 2>&1 - ;; - nuke) - docker rm nix-data - docker rm nixos-${USER} - ;; - "") - if ! docker image ls | grep nixos-${USER}; then - cat > /tmp/docker-build-${USER} <<EOF -FROM alpine - -# Add your user the alpine way -RUN apk add --no-cache --update shadow \ - && groupadd -g $(id -g) ${USER} \ - && useradd -g $(id -g) --groups wheel -u $(id -u) ${USER} - -# Enable HTTPS support in wget and set nsswitch.conf to make resolution work within containers -RUN apk add --no-cache --update openssl \ - && echo hosts: files dns > /etc/nsswitch.conf - -# Download Nix and install it into the system. -ARG NIX_VERSION=2.3.14 -RUN wget https://nixos.org/releases/nix/nix-\${NIX_VERSION}/nix-\${NIX_VERSION}-\$(uname -m)-linux.tar.xz \ - && tar xf nix-\${NIX_VERSION}-\$(uname -m)-linux.tar.xz \ - && addgroup -g 30000 -S nixbld \ - && for i in \$(seq 1 30); do adduser -S -D -h /var/empty -g "Nix build user \$i" -u \$((30000 + i)) -G nixbld nixbld\$i ; done \ - && mkdir -m 0755 /etc/nix \ - && echo 'sandbox = false' > /etc/nix/nix.conf \ - && mkdir -m 0755 /nix && USER=root sh nix-\${NIX_VERSION}-\$(uname -m)-linux/install \ - && ln -s /nix/var/nix/profiles/default/etc/profile.d/nix.sh /etc/profile.d/ \ - && rm -r /nix-\${NIX_VERSION}-\$(uname -m)-linux* \ - && /nix/var/nix/profiles/default/bin/nix-collect-garbage --delete-old \ - && /nix/var/nix/profiles/default/bin/nix-store --optimise \ - && /nix/var/nix/profiles/default/bin/nix-store --verify --check-contents - -ONBUILD ENV \ - ENV=/etc/profile \ - USER=root \ - PATH=/nix/var/nix/profiles/default/bin:/nix/var/nix/profiles/default/sbin:/bin:/sbin:/usr/bin:/usr/sbin \ - GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt \ - NIX_SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt - -ENV \ - ENV=/etc/profile \ - USER=root \ - PATH=/nix/var/nix/profiles/default/bin:/nix/var/nix/profiles/default/sbin:/bin:/sbin:/usr/bin:/usr/sbin \ - GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt \ - NIX_SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt \ - NIX_PATH=/nix/var/nix/profiles/per-user/root/channels -EOF - docker build . -t nixos-${USER} -f /tmp/docker-build-${USER} - fi - docker run --volumes-from=nix-data --rm -it \ - -v /etc/ssl/certs/ca-bundle.crt:/etc/ssl/certs/ca-certificates.crt \ - -e GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt \ - -e NIX_SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt \ - -e SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt \ - -e USER=${USER} \ - -u $(id -u):$(id -g) \ - --group-add wheel \ - -v ${HOME}:${HOME} \ - -w ${HOME} \ - --name nixos-${USER} \ - --network host \ - nixos-${USER} bash - ;; - clear) - docker run --rm --volumes-from=nix-data nixos/nix nix-collect-garbage -d - ;; - list) - docker run --rm --volumes-from nix-data nixos/nix ls -la /nix - ;; -esac |
