Commit graph

54 commits

Author SHA1 Message Date
Silvan Mosberger
b513ab8192 Reapply "ci: module maintainer review requests; nixos/modules: init meta.teams"
This reverts commit 2cc2e0225f.
2026-03-13 16:53:28 +01:00
Silvan Mosberger
2cc2e0225f
Revert "ci: module maintainer review requests; nixos/modules: init meta.teams" 2026-03-06 08:41:24 +01:00
Silvan Mosberger
dbb164c759 nixos/modules: Use meta.teams over meta.maintainers = lib.teams.*.members
This allows getting the team itself requested for a review instead of
the individual members
2026-03-02 10:59:09 +01:00
K900
9ba2235a88
nixos/pipewire: pin the linked docs (#442440) 2026-02-12 09:31:19 +00:00
K900
c0e0ac22d3 nixos/pipewire: also propagate LV2_PATH to standalone filter-chain 2025-10-02 09:47:37 +03:00
Malix
9d5859c124 nixos/pipewire: pin the linked docs 2025-09-14 20:29:42 +02:00
Wolfgang Walther
5a0711127c
treewide: run nixfmt 1.0.0 2025-07-24 13:55:40 +02:00
Edgar Vincent
76dd00a305 nixos/pipewire: remove obsolete comment
Since 05b4964, the pipewire-pulse system service and socket are
enabled when the `systemWide' option is set to `true'.
2025-06-09 17:24:28 +02:00
misuzu
05b496433a nixos/pipewire: support system wide pipewire-pulse service 2025-03-13 19:37:45 +02:00
K900
c63e1d1daf nixos/pipewire: remove client-rt.conf support 2025-03-06 16:56:39 +03:00
nicoo
238b407862
nixos: hardware.pulseaudio → services.pulseaudio (#369391) 2024-12-30 13:46:50 +00:00
Silvan Mosberger
4f0dadbf38 treewide: format all inactive Nix files
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.

Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.

A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.

This commit was automatically created and can be verified using

    nix-build https://github.com/infinisil/treewide-nixpkgs-reformat-script/archive/a08b3a4d199c6124ac5b36a889d9099b4383463f.tar.gz \
      --argstr baseRev b32a094368
    result/bin/apply-formatting $NIXPKGS_PATH
2024-12-10 20:26:33 +01:00
Wolfgang Walther
e1e2193dff
nixos/pipewire: remove version reference from warning message
This is also true in 24.11 and up, so no need to state the version
number explicitly.
2024-11-22 18:30:15 +01:00
Doron Behar
2415e26111 nixos/pipewire: mention possible integration with pulseaudio
The previous assert message was inaccurate, as it didn't reflect the
assertion condition, misleading users into thinking that either
pulseaudio or pipewire should be used as a sound server.
2024-11-05 18:02:03 +02:00
Artturin
e0464e4788 treewide: replace stdenv.is with stdenv.hostPlatform.is
In preparation for the deprecation of `stdenv.isX`.

These shorthands are not conducive to cross-compilation because they
hide the platforms.

Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way

One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059

There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.

```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
2024-09-25 00:04:37 +03:00
K900
333e6672e1 nixos/pipewire: install the default limits config, make group always exist 2024-08-16 12:00:08 +03:00
éclairevoyant
ff8f1a1f4e
nixos/pipewire: document example for services.pipewire.configPackages 2024-03-26 16:41:51 -04:00
éclairevoyant
27a2f2a429
nixos/pipewire: replace with lib; with inherit 2024-03-26 16:41:51 -04:00
éclairevoyant
f3b74afdc7
nixos/pipewire: remove lib.mdDoc (no-op) 2024-03-26 16:41:51 -04:00
Cabia Rangris
eaf6b74366
nixos/pipewire: raopOpenFirewall option
RAOP requires UDP/6001-6002 for timing
information, and won't work with apple devices if
firewall is enabled.
2024-03-20 18:32:01 +03:00
Hans Christian Schmitz
3f86bd950c
nixos/pipewire: add docs for passthru.requiredLv2Packages 2024-02-29 13:28:04 +01:00
Hans Christian Schmitz
5f6dca8403
nixos/pipewire: add assertions for migration to extraConfig/configPackages
The PR #282377 made files/directories specified in
`environment.etc."pipewire<...>"` and `environment.etc."wireplumber<...>"`
conflict with existing configuration of the PipeWire NixOS module due to how
the `configPackages` options were implemented. This sadly wasn't easily
avoidable. As this can cause breakage for users moving from 23.11 to 24.05
though, assertions can help guide them to use `services.pipewire.extraConfig`
or `services.pipewire.configPackages` / `services.wireplumber.configPackages`
instead, fixing the breakage.
2024-02-28 01:22:28 +01:00
K900
eb74747f38 nixos/pipewire: add LV2 plugins option
Follow-up #282377.

Some packages may want to load LV2 plugins directly from PipeWire config instead, so add another option to accomodate those.
2024-02-26 10:04:45 +03:00
Hans Christian Schmitz
5bf2637b48
nixos/wireplumber: add config packages option 2024-02-23 08:58:15 +01:00
Hans Christian Schmitz
054bba560a
nixos/pipewire: add config packages option 2024-02-23 08:57:16 +01:00
Hans Christian Schmitz
992582fdf8
nixos/pipewire: Fix capitalization
In docs PipeWire and WirePlumber should be capitalized as in this
sentence.
2024-02-23 08:57:12 +01:00
jopejoe1
8ba76f8dd4 nixos/pipewire: add pipewire config 2023-12-17 13:38:32 +03:00
h7x4
0a37316d6c
treewide: use mkPackageOption
This commit replaces a lot of usages of `mkOption` with the package
type, to be `mkPackageOption`, in order to reduce the amount of code.
2023-11-27 01:28:36 +01:00
K900
30e8b8e18d nixos/pipewire: simplify pw-pulse disabling 2023-10-20 10:22:53 +03:00
K900
ff44e8ab07 pipewire: simplify outputs drastically
This drops a whole bunch of patches we carry to avoid output cycles, at the cost of +1MB to closure size
on systems that don't already have Pipewire, which are becoming rarer and rarer.
2023-10-20 00:57:18 +03:00
K900
1fab86929f nixos/pipewire: spring cleaning
- drop media-session (rip 💀)
- stop trying to let people override default configs, those never got merged correctly
- drop all the complexity arising from having to vendor default config files
- build docs in sandbox as we no longer recurse
2023-03-14 20:31:32 +03:00
K900
ffaae97867 nixos/pipewire: add myself as maintainer 2023-01-30 09:09:47 +03:00
pennae
ef176dcf7e nixos/*: automatically convert option descriptions
conversions were done using https://github.com/pennae/nix-doc-munge
using (probably) rev f34e145 running

    nix-doc-munge nixos/**/*.nix
    nix-doc-munge --import nixos/**/*.nix

the tool ensures that only changes that could affect the generated
manual *but don't* are committed, other changes require manual review
and are discarded.
2022-08-31 16:32:53 +02:00
pennae
2e751c0772 treewide: automatically md-convert option descriptions
the conversion procedure is simple:

 - find all things that look like options, ie calls to either `mkOption`
   or `lib.mkOption` that take an attrset. remember the attrset as the
   option
 - for all options, find a `description` attribute who's value is not a
   call to `mdDoc` or `lib.mdDoc`
 - textually convert the entire value of the attribute to MD with a few
   simple regexes (the set from mdize-module.sh)
 - if the change produced a change in the manual output, discard
 - if the change kept the manual unchanged, add some text to the
   description to make sure we've actually found an option. if the
   manual changes this time, keep the converted description

this procedure converts 80% of nixos options to markdown. around 2000
options remain to be inspected, but most of those fail the "does not
change the manual output check": currently the MD conversion process
does not faithfully convert docbook tags like <code> and <package>, so
any option using such tags will not be converted at all.
2022-07-30 15:16:34 +02:00
Lily Foster
b5818b7a30 nixos/pipewire: only add pipewire-pulse.conf conditionally 2022-06-15 15:05:44 -07:00
Lily Foster
1e3747b98b nixos/pipewire: add pkgs.pulseaudio to pipewire-pulse user unit path 2022-06-15 15:05:44 -07:00
K900
955d1a6dde pipewire: create home directory for the pipewire user when running systemwide
wireplumber wants to store state there
2022-06-06 18:06:38 +03:00
Anders Kaseorg
b362ef4eff pipewire: Never set an empty LD_LIBRARY_PATH
An empty LD_LIBRARY_PATH may confuse some applications into appending
:, creating an empty segment that insecurely refers to the current
directory, not the absence of directories.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2022-06-05 13:34:35 +02:00
K900
435a5b675b nixos/pipewire: introduce an explicit option to use Pipewire as audio server 2022-03-26 08:54:18 +03:00
K900
1dbc26d995 nixos/pipewire: unbreak mixed Pulse/Pipewire setups
Fixes #163066
2022-03-22 11:29:46 +03:00
Jan Solanti
394c6f7949 nixos/pipewire: use standalone config when no session manger enabled 2022-02-17 17:39:53 +02:00
Jörg Thalheim
989238ec03
Merge pull request #153426 from 4z3/systemwide-pipewire
nixos/pipewire: add systemWide option
2022-01-05 21:33:07 +00:00
tv
7678a5848c nixos/pipewire: add systemWide option 2022-01-04 16:07:07 +01:00
pennae
fc614c37c6 nixos/documentation: split options doc build
most modules can be evaluated for their documentation in a very
restricted environment that doesn't include all of nixpkgs. this
evaluation can then be cached and reused for subsequent builds, merging
only documentation that has changed into the cached set. since nixos
ships with a large number of modules of which only a few are used in any
given config this can save evaluation a huge percentage of nixos
options available in any given config.

in tests of this caching, despite having to copy most of nixos/, saves
about 80% of the time needed to build the system manual, or about two
second on the machine used for testing. build time for a full system
config shrank from 9.4s to 7.4s, while turning documentation off
entirely shortened the build to 7.1s.
2022-01-02 19:46:13 +01:00
Sandro Jäckel
8547db919a
treewide: switch `builtins.fromJSON(builtins.readFile ./file.json)` to lib.importJSON ./file.json 2021-11-03 14:43:52 +01:00
Jan Solanti
b3bcf51c05 pipewire: 0.3.38 -> 0.3.39
Split pipewire-media-session into its own package
2021-10-25 20:34:40 +03:00
Naïm Favier
2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
Artturin
756e60344f nixos/pipewire: use absolute path for jack libs 2021-09-02 17:17:15 +03:00
talyz
2a3c276b53
nixos/pipewire: Use formats.json, stricter typing, line breaks
The upstream pipewire config is written in an almost, but not quite
JSON format. The parser accepts standard JSON, though, so we don't
need to write our file in the same nonstandard version.

The typing for all config options is changed from `types.attrs`, which
behaves poorly when the option is set from multiple locations, to the
formats.json-type.

Also, rewrite some very long one-liners for improved readability.
2021-04-01 12:08:29 +02:00
Jan Solanti
fbdb248e54 pipewire: 0.3.23 -> 0.3.24 2021-03-19 05:14:44 +02:00