Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pipewire (nixos): add socket activation support #43097

Merged
merged 1 commit into from Jul 6, 2018

Conversation

peterhoeg
Copy link
Member

Motivation for this change

pipewire comes with socket activation support, we just weren't exposing it.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Fits CONTRIBUTING.md.

@peterhoeg
Copy link
Member Author

Cc @jtojnar

@jtojnar
Copy link
Contributor

jtojnar commented Jul 6, 2018

I thought that socket activation was working by default when package was added to systemd.packages. If systemd.user.sockets.pipewire.wantedBy = [ "sockets.target" ]; is necessary, let's merge it.

Though, maybe it would be nice to create some sort of abstraction (e.g. systemd.services.pipewire.socketActivatable = true). Also what is the point of disabling socket activation, why would anyone want that?

@peterhoeg
Copy link
Member Author

I thought that socket activation was working by default when package was added to systemd.packages. If systemd.user.sockets.pipewire.wantedBy = [ "sockets.target" ]; is necessary, let's merge it.

It's the same as any systemd system service not being activated simply by adding the package to systemd.packages but needing wantedBy = [ "multi-user.target" ];.

Though, maybe it would be nice to create some sort of abstraction (e.g. systemd.services.pipewire.socketActivatable = true).

That would indeed be neat - we should do something like this for all socket activatable services.

Also what is the point of disabling socket activation, why would anyone want that?

We have several other services that support socket activation but where it is configurable - this was added here as an option to be in line with those. I cannot, however, see why anybody would want to use any of the services that support socket activation and not use socket activation..

@peterhoeg peterhoeg merged commit f2d9f3a into NixOS:master Jul 6, 2018
@peterhoeg peterhoeg deleted the m/pipewire branch July 6, 2018 07:26
@peterhoeg peterhoeg restored the m/pipewire branch July 6, 2018 08:37
@peterhoeg peterhoeg deleted the m/pipewire branch October 8, 2018 01:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants