···68 default = [];
69 type = types.listOf unitNameType;
70 description = lib.mdDoc ''
71- Units that require (i.e. depend on and need to go down with)
72- this unit. The discussion under `wantedBy`
73- applies here as well: inverse `.requires`
74- symlinks are established.
75 '';
76 };
77···79 default = [];
80 type = types.listOf unitNameType;
81 description = lib.mdDoc ''
82- Units that want (i.e. depend on) this unit. The standard way
83- to make a unit start by default at boot is to set this option
84- to `[ "multi-user.target" ]`. That's despite
85- the fact that the systemd.unit(5) manpage says this option
86- goes in the `[Install]` section that controls
87- the behaviour of `systemctl enable`. Since
88- such a process is stateful and thus contrary to the design of
89- NixOS, setting this option instead causes the equivalent
90- inverse `.wants` symlink to be present,
91- establishing the same desired relationship in a stateless way.
092 '';
93 };
94
···68 default = [];
69 type = types.listOf unitNameType;
70 description = lib.mdDoc ''
71+ Units that require (i.e. depend on and need to go down with) this unit.
72+ As discussed in the `wantedBy` option description this also creates
73+ `.requires` symlinks automatically.
074 '';
75 };
76···78 default = [];
79 type = types.listOf unitNameType;
80 description = lib.mdDoc ''
81+ Units that want (i.e. depend on) this unit. The default method for
82+ starting a unit by default at boot time is to set this option to
83+ '["multi-user.target"]' for system services. Likewise for user units
84+ (`systemd.user.<name>.*`) set it to `["default.target"]` to make a unit
85+ start by default when the user `<name>` logs on.
86+87+ This option creates a `.wants` symlink in the given target that exists
88+ statelessly without the need for running `systemctl enable`.
89+ The in systemd.unit(5) manpage described `[Install]` section however is
90+ not supported because it is a stateful process that does not fit well
91+ into the NixOS design.
92 '';
93 };
94
+6-1
pkgs/applications/misc/synergy/default.nix
···26, avahi-compat
2728 # MacOS / darwin
029, ApplicationServices
30, Carbon
31, Cocoa
···48 patches = [
49 # Without this OpenSSL from nixpkgs is not detected
50 ./darwin-non-static-openssl.patch
051 # We cannot include UserNotifications because of a build failure in the Apple SDK.
52 # The functions used from it are already implicitly included anyways.
53 ./darwin-no-UserNotifications-includes.patch
···76 Cocoa
77 CoreServices
78 ScreenSaver
0079 ] ++ lib.optionals stdenv.isLinux [
80 util-linux
81 libselinux
···97 NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-Wno-inconsistent-missing-override";
9899 cmakeFlags = lib.optional (!withGUI) "-DSYNERGY_BUILD_LEGACY_GUI=OFF"
100- ++ lib.optional stdenv.isDarwin "-DCMAKE_OSX_DEPLOYMENT_TARGET=${stdenv.targetPlatform.darwinSdkVersion}";
0101102 doCheck = true;
103
···26, avahi-compat
2728 # MacOS / darwin
29+, darwin
30, ApplicationServices
31, Carbon
32, Cocoa
···49 patches = [
50 # Without this OpenSSL from nixpkgs is not detected
51 ./darwin-non-static-openssl.patch
52+ ] ++ lib.optionals (stdenv.isDarwin && !(darwin.apple_sdk.frameworks ? UserNotifications)) [
53 # We cannot include UserNotifications because of a build failure in the Apple SDK.
54 # The functions used from it are already implicitly included anyways.
55 ./darwin-no-UserNotifications-includes.patch
···78 Cocoa
79 CoreServices
80 ScreenSaver
81+ ] ++ lib.optionals (stdenv.isDarwin && darwin.apple_sdk.frameworks ? UserNotifications) [
82+ darwin.apple_sdk.frameworks.UserNotifications
83 ] ++ lib.optionals stdenv.isLinux [
84 util-linux
85 libselinux
···101 NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-Wno-inconsistent-missing-override";
102103 cmakeFlags = lib.optional (!withGUI) "-DSYNERGY_BUILD_LEGACY_GUI=OFF"
104+ # NSFilenamesPboardType is deprecated in 10.14+
105+ ++ lib.optional stdenv.isDarwin "-DCMAKE_OSX_DEPLOYMENT_TARGET=${if stdenv.isAarch64 then "10.13" else stdenv.targetPlatform.darwinSdkVersion}";
106107 doCheck = true;
108