diff options
author | joachifm <joachifm@users.noreply.github.com> | 2016-04-02 22:24:26 +0000 |
---|---|---|
committer | joachifm <joachifm@users.noreply.github.com> | 2016-04-02 22:24:26 +0000 |
commit | 4559bff785455adcca28ae483676dcc5ef508df1 (patch) | |
tree | 3c2e3495f300f450c739405369b8a9ad62d23de9 /nixos | |
parent | 376b57fefeb949146c698d5052a76663efb4f3b1 (diff) | |
parent | ca3f82e2587c22d69150639b1eb6703dcc4515e2 (diff) | |
download | nixlib-4559bff785455adcca28ae483676dcc5ef508df1.tar nixlib-4559bff785455adcca28ae483676dcc5ef508df1.tar.gz nixlib-4559bff785455adcca28ae483676dcc5ef508df1.tar.bz2 nixlib-4559bff785455adcca28ae483676dcc5ef508df1.tar.lz nixlib-4559bff785455adcca28ae483676dcc5ef508df1.tar.xz nixlib-4559bff785455adcca28ae483676dcc5ef508df1.tar.zst nixlib-4559bff785455adcca28ae483676dcc5ef508df1.zip |
Merge pull request #14395 from peterhoeg/pa
pulseaudio nixos module: run as systemd user service instead
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/config/pulseaudio.nix | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index 179e826ba059..8b4ad796d0d5 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -150,6 +150,29 @@ in { target = "pulse/default.pa"; source = cfg.configFile; }; + + systemd.user = { + services.pulseaudio = { + description = "PulseAudio Server"; + # NixOS doesn't support "Also" so we bring it in manually + wantedBy = [ "default.target" ]; + serviceConfig = { + Type = "notify"; + ExecStart = "${cfg.package}/bin/pulseaudio --daemonize=no"; + Restart = "on-failure"; + }; + }; + + sockets.pulseaudio = { + description = "PulseAudio Socket"; + wantedBy = [ "sockets.target" ]; + socketConfig = { + Priority = 6; + Backlog = 5; + ListenStream = "%t/pulse/native"; + }; + }; + }; }) (mkIf systemWide { @@ -171,8 +194,9 @@ in { before = [ "sound.target" ]; environment.PULSE_RUNTIME_PATH = stateDir; serviceConfig = { - ExecStart = "${cfg.package}/bin/pulseaudio -D --log-level=${cfg.daemon.logLevel} --system --use-pid-file -n --file=${cfg.configFile}"; - PIDFile = "${stateDir}/pid"; + Type = "notify"; + ExecStart = "${cfg.package}/bin/pulseaudio --daemonize=no --log-level=${cfg.daemon.logLevel} --system -n --file=${cfg.configFile}"; + Restart = "on-failure"; }; }; }) |