mirror of
https://github.com/cachix/install-nix-action.git
synced 2025-06-08 01:54:27 +00:00
re-setup nix.conf after installation
This commit is contained in:
parent
9420096b1d
commit
16107722cd
3 changed files with 34 additions and 15 deletions
23
lib/main.js
23
lib/main.js
|
@ -20,18 +20,23 @@ const core = __importStar(require("@actions/core"));
|
|||
const exec = __importStar(require("@actions/exec"));
|
||||
const tc = __importStar(require("@actions/tool-cache"));
|
||||
const os_1 = require("os");
|
||||
function nixConf() {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
// Workaround a segfault: https://github.com/NixOS/nix/issues/2733
|
||||
yield exec.exec("sudo", ["mkdir", "-p", "/etc/nix"]);
|
||||
yield exec.exec("sudo", ["sh", "-c", "echo http2 = false >> /etc/nix/nix.conf"]);
|
||||
// Set jobs to number of cores
|
||||
yield exec.exec("sudo", ["sh", "-c", "echo max-jobs = auto >> /etc/nix/nix.conf"]);
|
||||
// Allow binary caches for runner user
|
||||
yield exec.exec("sudo", ["sh", "-c", "echo trusted-users = root runner >> /etc/nix/nix.conf"]);
|
||||
});
|
||||
}
|
||||
function run() {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
try {
|
||||
const PATH = process.env.PATH;
|
||||
const INSTALL_PATH = '/opt/nix';
|
||||
// Workaround a segfault: https://github.com/NixOS/nix/issues/2733
|
||||
yield exec.exec("sudo", ["mkdir", "-p", "/etc/nix"]);
|
||||
yield exec.exec("sudo", ["sh", "-c", "echo http2 = false >> /etc/nix/nix.conf"]);
|
||||
// Set jobs to number of cores
|
||||
yield exec.exec("sudo", ["sh", "-c", "echo max-jobs = auto >> /etc/nix/nix.conf"]);
|
||||
// Allow binary caches for runner user
|
||||
yield exec.exec("sudo", ["sh", "-c", "echo trusted-users = root runner >> /etc/nix/nix.conf"]);
|
||||
yield nixConf();
|
||||
// Catalina workaround https://github.com/NixOS/nix/issues/2925
|
||||
if (os_1.type() == "Darwin") {
|
||||
yield exec.exec("sudo", ["sh", "-c", `echo \"nix\t${INSTALL_PATH}\" >> /etc/synthetic.conf`]);
|
||||
|
@ -48,6 +53,10 @@ function run() {
|
|||
// TODO: retry due to all the things that go wrong
|
||||
const nixInstall = yield tc.downloadTool('https://nixos.org/nix/install');
|
||||
yield exec.exec("sh", [nixInstall, "--daemon"]);
|
||||
// write nix.conf again as installation overwrites it, reload the daemon to pick up changes
|
||||
yield nixConf();
|
||||
yield exec.exec("sudo", ["pkill", "-HUP", "nix-daemon"]);
|
||||
// setup env
|
||||
core.exportVariable('PATH', `${PATH}:/nix/var/nix/profiles/default/bin:/nix/var/nix/profiles/per-user/runner/profile/bin`);
|
||||
core.exportVariable('NIX_PATH', `/nix/var/nix/profiles/per-user/root/channels`);
|
||||
if (os_1.type() == "Darwin") {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue