Skip to content

Instantly share code, notes, and snippets.

@shajra
Last active May 14, 2016 03:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shajra/12d862220ab7cb9782d2a934d4cb489a to your computer and use it in GitHub Desktop.
Save shajra/12d862220ab7cb9782d2a934d4cb489a to your computer and use it in GitHub Desktop.
This install script (second file) used to work months ago, but now it gives me an error (first file)
The user `nixbld1' is already a member of `nixbld'.
The user `nixbld2' is already a member of `nixbld'.
The user `nixbld3' is already a member of `nixbld'.
The user `nixbld4' is already a member of `nixbld'.
The user `nixbld5' is already a member of `nixbld'.
The user `nixbld6' is already a member of `nixbld'.
The user `nixbld7' is already a member of `nixbld'.
The user `nixbld8' is already a member of `nixbld'.
The user `nixbld9' is already a member of `nixbld'.
The user `nixbld10' is already a member of `nixbld'.
downloading Nix expressions from https://nixos.org/releases/nixpkgs/nixpkgs-16.09pre81560.c7f9b6c//nixexprs.tar.xz...
downloading https://nixos.org/releases/nixpkgs/nixpkgs-16.09pre81560.c7f9b6c//nixexprs.tar.xz... [0/0 KiB, 0.0 KiB/s] [80/7153 KiB, 74.2 KiB/s] [256/7153 KiB, 106.0 KiB/s] [336/7153 KiB, 97.5 KiB/s] [384/7153 KiB, 85.2 KiB/s] [448/7153 KiB, 81.3 KiB/s] [512/7153 KiB, 76.4 KiB/s] [528/7153 KiB, 68.5 KiB/s] [576/7153 KiB, 65.3 KiB/s] [624/7153 KiB, 63.4 KiB/s] [640/7153 KiB, 58.5 KiB/s] [672/7153 KiB, 55.7 KiB/s] [688/7153 KiB, 51.8 KiB/s] [704/7153 KiB, 49.0 KiB/s] [736/7153 KiB, 47.8 KiB/s] [752/7153 KiB, 45.6 KiB/s] [768/7153 KiB, 43.7 KiB/s] [800/7153 KiB, 43.0 KiB/s] [848/7153 KiB, 43.1 KiB/s] [896/7153 KiB, 43.3 KiB/s] [944/7153 KiB, 43.4 KiB/s] [992/7153 KiB, 43.6 KiB/s] [1088/7153 KiB, 45.8 KiB/s] [1152/7153 KiB, 46.3 KiB/s] [1200/7153 KiB, 46.3 KiB/s] [1216/7153 KiB, 44.9 KiB/s] [1264/7153 KiB, 44.2 KiB/s] [1280/7153 KiB, 43.1 KiB/s] [1312/7153 KiB, 42.8 KiB/s] [1360/7153 KiB, 42.9 KiB/s] [1408/7153 KiB, 43.0 KiB/s] [1424/7153 KiB, 42.0 KiB/s] [1472/7153 KiB, 42.1 KiB/s] [1504/7153 KiB, 41.7 KiB/s] [1552/7153 KiB, 41.7 KiB/s] [1616/7153 KiB, 42.3 KiB/s] [1712/7153 KiB, 43.6 KiB/s] [1776/7153 KiB, 44.1 KiB/s] [1840/7153 KiB, 44.5 KiB/s] [1904/7153 KiB, 44.7 KiB/s] [1936/7153 KiB, 44.4 KiB/s] [1952/7153 KiB, 43.5 KiB/s] [2016/7153 KiB, 43.9 KiB/s] [2080/7153 KiB, 44.3 KiB/s] [2128/7153 KiB, 44.3 KiB/s] [2208/7153 KiB, 45.0 KiB/s] [2256/7153 KiB, 45.0 KiB/s] [2288/7153 KiB, 44.7 KiB/s] [2336/7153 KiB, 44.7 KiB/s] [2384/7153 KiB, 44.7 KiB/s] [2416/7153 KiB, 44.4 KiB/s] [2480/7153 KiB, 44.8 KiB/s] [2528/7153 KiB, 44.7 KiB/s] [2560/7153 KiB, 44.4 KiB/s] [2592/7153 KiB, 44.2 KiB/s] [2656/7153 KiB, 44.5 KiB/s] [2752/7153 KiB, 45.2 KiB/s] [2816/7153 KiB, 45.5 KiB/s] [2896/7153 KiB, 46.0 KiB/s] [2944/7153 KiB, 46.0 KiB/s] [2976/7153 KiB, 45.7 KiB/s] [3040/7153 KiB, 45.9 KiB/s] [3136/7153 KiB, 46.6 KiB/s] [3264/7153 KiB, 47.8 KiB/s] [3360/7153 KiB, 48.5 KiB/s] [3456/7153 KiB, 49.0 KiB/s] [3520/7153 KiB, 49.2 KiB/s] [3600/7153 KiB, 49.6 KiB/s] [3696/7153 KiB, 50.2 KiB/s] [3760/7153 KiB, 50.3 KiB/s] [3872/7153 KiB, 51.1 KiB/s] [3984/7153 KiB, 51.9 KiB/s] [4112/7153 KiB, 52.8 KiB/s] [4192/7153 KiB, 53.1 KiB/s] [4272/7153 KiB, 53.4 KiB/s] [4352/7153 KiB, 53.7 KiB/s] [4464/7153 KiB, 54.4 KiB/s] [4592/7153 KiB, 55.3 KiB/s] [4752/7153 KiB, 56.5 KiB/s] [4896/7153 KiB, 57.5 KiB/s] [4960/7153 KiB, 57.5 KiB/s] [5056/7153 KiB, 57.9 KiB/s] [5168/7153 KiB, 58.5 KiB/s] [5264/7153 KiB, 59.0 KiB/s] [5360/7153 KiB, 59.3 KiB/s] [5408/7153 KiB, 59.1 KiB/s] [5504/7153 KiB, 59.5 KiB/s] [5616/7153 KiB, 60.0 KiB/s] [5760/7153 KiB, 60.9 KiB/s] [5920/7153 KiB, 61.9 KiB/s] [6048/7153 KiB, 62.6 KiB/s] [6160/7153 KiB, 63.1 KiB/s] [6224/7153 KiB, 63.0 KiB/s] [6288/7153 KiB, 63.0 KiB/s] [6416/7153 KiB, 63.6 KiB/s] [6528/7153 KiB, 64.1 KiB/s] [6624/7153 KiB, 64.4 KiB/s] [6688/7153 KiB, 64.4 KiB/s] [6752/7153 KiB, 64.3 KiB/s] [6784/7153 KiB, 64.0 KiB/s] [6848/7153 KiB, 64.0 KiB/s] [6944/7153 KiB, 64.3 KiB/s] [7040/7153 KiB, 64.5 KiB/s]
unpacking channels...
upgrading nix-1.11.2 to nix-1.11.2
these paths will be fetched (60.95 MiB download, 230.00 MiB unpacked):
/nix/store/0lx9vy36nnrqxr67njx1b4v5vyypjhli-boehm-gc-7.2f
/nix/store/0md03indgzyngjxq34gbigiy109lk4gj-perl-5.22.1
/nix/store/0mfa3mpl4740vvs49sxpk965bmzr2r40-openssl-1.0.2g
/nix/store/0p2n7pzdx9df4qs8rcdr4wa6f4gg622c-sqlite-3.11.1
/nix/store/1jis46bsynmhyb5bnbm91zw50sskamhf-nix-1.11.2-debug
/nix/store/1sgzbykwmd7jbfgzrpd76zvc7qsiy4rf-openssl-1.0.2g-bin
/nix/store/4jdz78898sk1rzhgdll9q7ha4hhi1s6l-perl-WWW-Curl-4.17
/nix/store/4nax28wfmzgyma006rmczhk7lp6yaaad-perl-DBI-1.634
/nix/store/5cc9pfza6s0kwql5ni23vsdk5hyl75jq-glibc-2.23-bin
/nix/store/5nx94xmwy92cbkqk8fkhkn2za6xa5g9w-boehm-gc-7.2f-dev
/nix/store/6cfi9xccwnbzr0p28ykflcq6345wnmjv-coreutils-8.25
/nix/store/8q18iw2amk805ijrij1x7dbyym5xp36g-libsodium-1.0.10
/nix/store/apsbzv3wc3wqv8mm3c0nk79a83gnawwz-curl-7.47.1-bin
/nix/store/bdv0dy3kn36sp8wjj75ix9ikwi5qyi81-libssh2-1.7.0
/nix/store/cl0ajhx1d5j5lg9q6zfh521cn1xq9lfm-bzip2-1.0.6
/nix/store/cs3aymh7rx3b13nvyi9kvjkl5b101arr-gzip-1.6
/nix/store/di3aja6hz4i01i6v2l0lm8gnxhfdwr52-xz-5.2.2
/nix/store/f19mficl5msxfsbv4g7p61c4lyw7hl9d-gcc-5.3.0
/nix/store/f69rq0mmyp5mycgr6h8x0l252vgmq5vd-gcc-5.3.0-lib
/nix/store/fpnf809d1dzq4dy0m7clbgn97fm3xxyd-bash-4.3-p42
/nix/store/fv8lbg8jk2amwsxzrw82r028r8fm3rl3-gnutar-1.28
/nix/store/h76nc9049n3z81dpscrdki3km04f9ywj-perl-DBD-SQLite-1.48
/nix/store/hjdnd35g6pk9500k5kvl44w8hcml2mi5-nix-1.11.2-man
/nix/store/hsi8hvmnrynlgqz5scy2jbc7vdzf5imm-linux-headers-3.18.14
/nix/store/iy0p96469x75k82igpym83c6aw67c1ky-libnghttp2-1.8.0
/nix/store/jcm796kamqfcj3385cwymnkgxcz5951j-bzip2-1.0.6-bin
/nix/store/lxpmkjnyqjiy06avd45svijgf953ckia-glibc-2.23-dev
/nix/store/s34m1sphxxz3vzhlh04fw3g5fvwzb9aw-nix-1.11.2
/nix/store/skdijd3r067cbhh5dn6ya83cz33and2w-xz-5.2.2-bin
/nix/store/sw5w8nwya7nff3dhvy8gq02ay2blb6sj-nix-1.11.2-doc
/nix/store/xcvj60a669vm2mzsh29d7kim1fhsidal-zlib-1.2.8
/nix/store/xpip1s2ix1kw0xjgy33i14j4c8j37j0a-acl-2.2.52
/nix/store/xx05sf7gg794ccr1cridjdd06nd0yiv8-curl-7.47.1
/nix/store/yli5653cxg528sjmf2pc1i9nfvq79438-attr-2.4.47
/nix/store/zsk34dk2wdzkryllmhfyh1bqkp77lsn6-glibc-2.23
fetching path /nix/store/sw5w8nwya7nff3dhvy8gq02ay2blb6sj-nix-1.11.2-doc...
fetching path /nix/store/hjdnd35g6pk9500k5kvl44w8hcml2mi5-nix-1.11.2-man...
fetching path /nix/store/zsk34dk2wdzkryllmhfyh1bqkp77lsn6-glibc-2.23...
fetching path /nix/store/hsi8hvmnrynlgqz5scy2jbc7vdzf5imm-linux-headers-3.18.14...
*** Downloading https://cache.nixos.org/nar/0hyii41ncz7znkphl6k8ya8i7m0cy0vbbddskhkgmbhxlaa7whr3.nar.xz to /nix/store/hsi8hvmnrynlgqz5scy2jbc7vdzf5imm-linux-headers-3.18.14...
*** Downloading https://cache.nixos.org/nar/1ddr2yr5h80qwqkcqilypvvj22mv2qvqbs54nxg0g4a37aknj2dc.nar.xz to /nix/store/hjdnd35g6pk9500k5kvl44w8hcml2mi5-nix-1.11.2-man...
*** Downloading https://cache.nixos.org/nar/0cldwbsbfbxdw96lchj9m3qlby46rjbrvx2r7h15zjy3s7869wdd.nar.xz to /nix/store/zsk34dk2wdzkryllmhfyh1bqkp77lsn6-glibc-2.23...
*** Downloading https://cache.nixos.org/nar/021nf1ikhyh75kqg28kyvbxgg0k597wqb1rfdzd6h8qqsrbf6xqz.nar.xz to /nix/store/sw5w8nwya7nff3dhvy8gq02ay2blb6sj-nix-1.11.2-doc...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 % Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). If the default
bundle file isn't adequate, you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
/nix/store/hs8lf8v9qqfs9m3jqmm97nqg7wg9dqjw-xz-5.2.1/bin/xz: (stdin): File format not recognized
error: unexpected end-of-file
download of https://cache.nixos.org/nar/1ddr2yr5h80qwqkcqilypvvj22mv2qvqbs54nxg0g4a37aknj2dc.nar.xz failed: No such file or directory
could not download /nix/store/hjdnd35g6pk9500k5kvl44w8hcml2mi5-nix-1.11.2-man from any binary cache
fetching path /nix/store/hjdnd35g6pk9500k5kvl44w8hcml2mi5-nix-1.11.2-man failed with exit code 1
killing process 12490
killing process 12493
killing process 12492
error: some substitutes for the outputs of derivation /nix/store/9z3cddsddjkldk7vra5lp3p2gxnda2ky-nix-1.11.2.drv failed (usually happens due to networking issues); try --fallback to build derivation from source
#!/bin/sh -e
main()
{
if fresh_installation
then
prep_single_user_install
install_single_user
fi
install_multi_user
update_channel
upgrade_default_profile
install_chroot_profile
upgrade_chroot_profile
activate_chroot_building
}
fresh_installation()
{
test ! -e /nix
}
prep_single_user_install()
{
sudo mkdir /nix
sudo chown "$(whoami):$(whoami)" /nix
}
install_single_user()
{
curl https://nixos.org/nix/install | env --unset=NIX_REMOTE bash
}
install_multi_user()
{
create_build_group
create_build_users
set_multi_user_perms
install_nix_conf
install_systemd_conf
set_up_user_config
export NIX_REMOTE=daemon
}
update_channel()
{
/nix/var/nix/profiles/default/bin/nix-channel --update
}
upgrade_default_profile()
{
sudo /nix/var/nix/profiles/default/bin/nix-env \
--file ~/.nix-defexpr \
--profile /nix/var/nix/profiles/default \
--upgrade \
--always \
'*'
}
install_chroot_profile()
{
sudo /nix/var/nix/profiles/default/bin/nix-env \
--file ~/.nix-defexpr \
--profile /nix/var/nix/profiles/chroot \
--install bash
}
upgrade_chroot_profile()
{
sudo /nix/var/nix/profiles/default/bin/nix-env \
--file ~/.nix-defexpr \
--profile /nix/var/nix/profiles/chroot \
--upgrade \
--always \
'*'
}
activate_chroot_building()
{
sudo tee --append /etc/nix/nix.conf <<EOF > /dev/null
build-use-chroot = true
build-chroot-dirs = /dev /dev/pts /bin=/nix/var/nix/profiles/chroot/bin $(bash_nix_deps)
EOF
}
create_build_group()
{
sudo addgroup --quiet --system nixbld
}
create_build_users()
{
for i in $(seq 1 10)
do create_build_user "$i"
done
}
set_multi_user_perms()
{
sudo chown --recursive root:root /nix
sudo chown --recursive root:nixbld /nix/store
sudo chown --recursive root:nixbld /nix/var/nix/daemon-socket
sudo chmod 1775 /nix/store
sudo rm --recursive --force /nix/var/nix/gcroots/per-user
sudo mkdir --parents --mode=1777 /nix/var/nix/gcroots/per-user
sudo rm --recursive --force /nix/var/nix/profiles/per-user
sudo mkdir --parents --mode=1777 /nix/var/nix/profiles/per-user
}
install_nix_conf() {
sudo mkdir --parents /etc/nix
sudo tee /etc/nix/nix.conf <<EOF > /dev/null
build-users-group = nixbld
build-max-jobs = 4
EOF
}
install_systemd_conf()
{
sudo ln --symbolic --force \
/nix/var/nix/profiles/default/lib/systemd/system/nix-daemon.service \
/etc/systemd/system
sudo ln --symbolic --force \
/nix/var/nix/profiles/default/lib/systemd/system/nix-daemon.socket \
/etc/systemd/system/sockets.target.wants
sudo systemctl --system daemon-reload
sudo service nix-daemon stop
sudo service nix-daemon start
}
set_up_user_config()
{
local profile_dir="/nix/var/nix/profiles/per-user/$(whoami)/default"
ln --symbolic --force --no-target-directory "$profile_dir" ~/.nix-profile
}
create_build_user()
{
local user_number="$1"
local username="nixbld$1"
sudo adduser --quiet --system --group --disabled-login \
--home /dev/null --no-create-home \
--gecos "Nix build user $user_number" \
"$username"
sudo adduser "$username" nixbld
}
bash_nix_deps()
{
/nix/var/nix/profiles/default/bin/nix-store --query --requisites \
$(readlink -f /nix/var/nix/profiles/chroot/bin/bash) \
| tr "\n" " "
}
main
@rrnewton
Copy link

I just ran into exactly the same problem, also with a nix-multi-user install script.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment