Prepare for Nix 2.3.5
This commit is contained in:
		| @@ -1,47 +1,25 @@ | ||||
| #!/usr/bin/env bash | ||||
| set -euo pipefail | ||||
|  | ||||
| export here=$(dirname "${BASH_SOURCE[0]}") | ||||
| # Set jobs to number of cores | ||||
| sudo sh -c 'echo max-jobs = auto >> /tmp/nix.conf' | ||||
| # Allow binary caches for runner user | ||||
| sudo sh -c 'echo trusted-users = root runner >> /tmp/nix.conf' | ||||
|  | ||||
| nixConf() { | ||||
|   sudo mkdir -p /etc/nix | ||||
|   # Workaround a segfault: https://github.com/NixOS/nix/issues/2733 | ||||
|   sudo sh -c 'echo http2 = false >> /etc/nix/nix.conf' | ||||
|   # Set jobs to number of cores | ||||
|   sudo sh -c 'echo max-jobs = auto >> /etc/nix/nix.conf' | ||||
|   # Allow binary caches for runner user | ||||
|   sudo sh -c 'echo trusted-users = root runner >> /etc/nix/nix.conf' | ||||
| } | ||||
| sh <(curl -L ${INPUT_INSTALL_URL:-https://nixos.org/nix/install}) \ | ||||
|   --daemon --daemon-user-count 4 --nix-extra-conf-file /tmp/nix.conf --darwin-use-unencrypted-nix-store-volume | ||||
|  | ||||
| if [[ $OSTYPE =~ darwin ]]; then | ||||
|   # Catalina workaround https://github.com/NixOS/nix/issues/2925 | ||||
|   $here/create-darwin-volume.sh | ||||
|  | ||||
|   # Disable spotlight indexing of /nix to speed up performance | ||||
|   sudo mdutil -i off /nix | ||||
| fi | ||||
|  | ||||
| nixConf | ||||
|  | ||||
| # Needed due to multi-user being too defensive | ||||
| export ALLOW_PREEXISTING_INSTALLATION=1 | ||||
|  | ||||
| sh <(curl -L ${INPUT_INSTALL_URL:-https://nixos.org/nix/install}) --daemon | ||||
|  | ||||
| # write nix.conf again as installation overwrites it | ||||
| nixConf | ||||
|  | ||||
| # macOS needs certificates hints | ||||
| if [[ $OSTYPE =~ darwin ]]; then | ||||
|   # macOS needs certificates hints | ||||
|   cert_file=/nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt | ||||
|   echo "::set-env name=NIX_SSL_CERT_FILE::$cert_file" | ||||
|   export NIX_SSL_CERT_FILE=$cert_file | ||||
|   sudo launchctl setenv NIX_SSL_CERT_FILE "$cert_file" | ||||
| fi | ||||
|  | ||||
| # Reload the daemon to pick up changes | ||||
| sudo pkill -HUP nix-daemon | ||||
|  | ||||
| # Set paths | ||||
| echo "::add-path::/nix/var/nix/profiles/per-user/runner/profile/bin" | ||||
| echo "::add-path::/nix/var/nix/profiles/default/bin" | ||||
|   | ||||
							
								
								
									
										26
									
								
								lib/main.js
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								lib/main.js
									
									
									
									
									
								
							| @@ -1,30 +1,4 @@ | ||||
| "use strict"; | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
|         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||||
|         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||||
|         function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| const child_process_1 = require("child_process"); | ||||
| const process_1 = require("process"); | ||||
| const net_1 = require("net"); | ||||
| function awaitSocket() { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         const daemonSocket = net_1.createConnection({ path: '/nix/var/nix/daemon-socket/socket' }); | ||||
|         daemonSocket.on('error', () => __awaiter(this, void 0, void 0, function* () { | ||||
|             console.log('Waiting for daemon socket to be available, reconnecting...'); | ||||
|             yield new Promise(resolve => setTimeout(resolve, 500)); | ||||
|             yield awaitSocket(); | ||||
|         })); | ||||
|         daemonSocket.on('connect', () => { | ||||
|             process_1.exit(0); | ||||
|         }); | ||||
|     }); | ||||
| } | ||||
| child_process_1.execFileSync(`${__dirname}/install-nix.sh`, { stdio: 'inherit' }); | ||||
| // nc doesn't work correctly on macOS :( | ||||
| awaitSocket(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user