speechd: use socket activation

Peter Kling 089fa2b5 5537661d

Changed files
+18 -4
nixos
modules
services
accessibility
pkgs
by-name
+3 -4
nixos/modules/services/accessibility/speechd.nix
···
let
cfg = config.services.speechd;
inherit (lib)
-
getExe
mkEnableOption
mkIf
mkPackageOption
···
package = mkPackageOption pkgs "speechd" { };
};
-
# FIXME: speechd 0.12 (or whatever the next version is)
-
# will support socket activation, so switch to that once it's out.
config = mkIf cfg.enable {
environment = {
systemPackages = [ cfg.package ];
-
sessionVariables.SPEECHD_CMD = getExe cfg.package;
};
};
}
···
let
cfg = config.services.speechd;
inherit (lib)
mkEnableOption
mkIf
mkPackageOption
···
package = mkPackageOption pkgs "speechd" { };
};
config = mkIf cfg.enable {
environment = {
systemPackages = [ cfg.package ];
};
+
systemd.packages = [ cfg.package ];
+
# have to set `wantedBy` since `systemd.packages` ignores `[Install]`
+
systemd.user.sockets.speech-dispatcher.wantedBy = [ "sockets.target" ];
};
}
+10
pkgs/by-name/sp/speechd/fix-paths.patch
···
diff --git a/speech-dispatcherd.service.in b/speech-dispatcherd.service.in
index ab14b99d..12521b1b 100644
--- a/speech-dispatcherd.service.in
···
+
diff --git a/speech-dispatcher.service.in b/speech-dispatcher.service.in
+
index 6280f2d9..edf6024c 100644
+
--- a/speech-dispatcher.service.in
+
+++ b/speech-dispatcher.service.in
+
@@ -20,4 +20,4 @@ Requires=speech-dispatcher.socket
+
[Service]
+
Type=simple
+
ExecStart=@bindir@/speech-dispatcher -s -t 0
+
-ExecReload=/bin/kill -HUP $MAINPID
+
+ExecReload=@utillinux@/bin/kill -HUP $MAINPID
diff --git a/speech-dispatcherd.service.in b/speech-dispatcherd.service.in
index ab14b99d..12521b1b 100644
--- a/speech-dispatcherd.service.in
+5
pkgs/by-name/sp/speechd/package.nix
···
itstool,
libtool,
texinfo,
util-linux,
autoreconfHook,
glib,
···
libpulseaudio
python
]
++ lib.optionals withAlsa [
alsa-lib
]
···
# Audio method falls back from left to right.
"--with-default-audio-method=\"libao,pulse,alsa,oss\""
"--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
]
++ lib.optionals withPulse [
"--with-pulse"
···
itstool,
libtool,
texinfo,
+
systemdMinimal,
util-linux,
autoreconfHook,
glib,
···
libpulseaudio
python
]
+
++ lib.optionals stdenv.hostPlatform.isLinux [
+
systemdMinimal # libsystemd
+
]
++ lib.optionals withAlsa [
alsa-lib
]
···
# Audio method falls back from left to right.
"--with-default-audio-method=\"libao,pulse,alsa,oss\""
"--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
+
"--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user"
]
++ lib.optionals withPulse [
"--with-pulse"