diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index 952851b08dba..0ddf1fc8f9cc 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -1,4 +1,13 @@ -{ pkgsBuildBuild, go, buildGoModule, stdenv, lib, procps, fetchFromGitHub, nixosTests }: +{ pkgsBuildBuild +, go +, buildGoModule +, stdenv +, lib +, procps +, fetchFromGitHub +, nixosTests +, autoSignDarwinBinariesHook +}: let common = { stname, target, postInstall ? "" }: @@ -15,6 +24,15 @@ let vendorHash = "sha256-5NgflkRXkbWiIkASmxIgWliE8sF89HtlMtlIF+5u6Ic="; + nativeBuildInputs = lib.optionals stdenv.isDarwin [ + # Recent versions of macOS seem to require binaries to be signed when + # run from Launch Agents/Daemons, even on x86 devices where it has a + # more lax code signing policy compared to Apple Silicon. So just sign + # the binaries on both architectures to make it possible for launchd to + # auto-start Syncthing at login. + autoSignDarwinBinariesHook + ]; + doCheck = false; BUILD_USER = "nix"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2a1dd423e2d1..11fb8415c566 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -33622,6 +33622,7 @@ with pkgs; syncterm = callPackage ../applications/terminal-emulators/syncterm { }; inherit (callPackages ../applications/networking/syncthing { + inherit (darwin) autoSignDarwinBinariesHook; buildGoModule = buildGo119Module; # go 1.20 build failure }) syncthing