Skip to content

Commit 4c061eb

Browse files
committed
Fix Linux nix daemon startup
Signed-off-by: Nick Sweeting <git@sweeting.me>
1 parent 58b02d4 commit 4c061eb

2 files changed

Lines changed: 81 additions & 4 deletions

File tree

.github/workflows/tests.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,14 @@ jobs:
198198
cache: false
199199

200200
- name: Install Nix
201+
if: runner.os == 'Linux'
202+
uses: DeterminateSystems/nix-installer-action@v22
203+
with:
204+
planner: linux-multi
205+
start-daemon: true
206+
207+
- name: Install Nix
208+
if: runner.os != 'Linux'
201209
uses: DeterminateSystems/nix-installer-action@v22
202210

203211
- name: Sanitize PATH after Nix install
@@ -425,6 +433,14 @@ jobs:
425433
cache: false
426434

427435
- name: Install Nix
436+
if: runner.os == 'Linux'
437+
uses: DeterminateSystems/nix-installer-action@v22
438+
with:
439+
planner: linux-multi
440+
start-daemon: true
441+
442+
- name: Install Nix
443+
if: runner.os != 'Linux'
428444
uses: DeterminateSystems/nix-installer-action@v22
429445

430446
- name: Sanitize PATH after Nix install

abxpkg/binprovider_nix.py

Lines changed: 65 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,11 @@ def default_install_handler(
218218
or arg.startswith(("channel:", "http://", "https://", "github:", "path:"))
219219
for arg in cmd_install_args
220220
):
221-
cmd_install_args = ["-f", "channel:nixpkgs-unstable", *cmd_install_args]
221+
cmd_install_args = [
222+
"-f",
223+
"https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz",
224+
*cmd_install_args,
225+
]
222226
installer_bin = self.INSTALLER_BINARY(no_cache=no_cache).loaded_abspath
223227
assert installer_bin
224228
env = {
@@ -310,8 +314,27 @@ def default_install_handler(
310314
)
311315
self.exec(
312316
bin_name="sudo",
313-
cmd=["systemctl", "restart", "nix-daemon.socket"],
317+
cmd=["systemctl", "reset-failed", "nix-daemon.socket"],
318+
timeout=timeout,
319+
quiet=True,
320+
)
321+
self.exec(
322+
bin_name="sudo",
323+
cmd=["systemctl", "reset-failed", "nix-daemon.service"],
314324
timeout=timeout,
325+
quiet=True,
326+
)
327+
self.exec(
328+
bin_name="sudo",
329+
cmd=["systemctl", "start", "nix-daemon.socket"],
330+
timeout=timeout,
331+
quiet=True,
332+
)
333+
self.exec(
334+
bin_name="sudo",
335+
cmd=["systemctl", "start", "nix-daemon.service"],
336+
timeout=timeout,
337+
quiet=True,
315338
)
316339
proc = self.exec(
317340
bin_name=installer_bin,
@@ -435,8 +458,27 @@ def default_update_handler(
435458
)
436459
self.exec(
437460
bin_name="sudo",
438-
cmd=["systemctl", "restart", "nix-daemon.socket"],
461+
cmd=["systemctl", "reset-failed", "nix-daemon.socket"],
439462
timeout=timeout,
463+
quiet=True,
464+
)
465+
self.exec(
466+
bin_name="sudo",
467+
cmd=["systemctl", "reset-failed", "nix-daemon.service"],
468+
timeout=timeout,
469+
quiet=True,
470+
)
471+
self.exec(
472+
bin_name="sudo",
473+
cmd=["systemctl", "start", "nix-daemon.socket"],
474+
timeout=timeout,
475+
quiet=True,
476+
)
477+
self.exec(
478+
bin_name="sudo",
479+
cmd=["systemctl", "start", "nix-daemon.service"],
480+
timeout=timeout,
481+
quiet=True,
440482
)
441483
proc = self.exec(
442484
bin_name=installer_bin,
@@ -560,8 +602,27 @@ def default_uninstall_handler(
560602
)
561603
self.exec(
562604
bin_name="sudo",
563-
cmd=["systemctl", "restart", "nix-daemon.socket"],
605+
cmd=["systemctl", "reset-failed", "nix-daemon.socket"],
606+
timeout=timeout,
607+
quiet=True,
608+
)
609+
self.exec(
610+
bin_name="sudo",
611+
cmd=["systemctl", "reset-failed", "nix-daemon.service"],
612+
timeout=timeout,
613+
quiet=True,
614+
)
615+
self.exec(
616+
bin_name="sudo",
617+
cmd=["systemctl", "start", "nix-daemon.socket"],
618+
timeout=timeout,
619+
quiet=True,
620+
)
621+
self.exec(
622+
bin_name="sudo",
623+
cmd=["systemctl", "start", "nix-daemon.service"],
564624
timeout=timeout,
625+
quiet=True,
565626
)
566627
proc = self.exec(
567628
bin_name=installer_bin,

0 commit comments

Comments
 (0)