Commit Graph

210 Commits

Author SHA1 Message Date
Graham Christensen
06edb74413
Merge pull request #148785 from pennae/more-option-doc-staticizing
treewide: more defaultText for options
2021-12-17 11:14:08 -05:00
Andreas Rammhold
c9c93b0add
nixos/snapserver: use the correct bind address arguments
Snapserver expects the arguments `--tcp.bind_to_address` and
`--http.bind_to_address` instead of the `--tcp.address` (and http
equivalent) versions.

This caused the process to listen on `0.0.0.0` (for TCP and HTTP
sockets) regardless of the configuration value. It also never listend on
the IPv6 address `::` as our module system made the user believe.

This commit fixes the above issue and ensures that (at least for the TCP
socket) that our default `::` does indeed allow connections via IPv6
(to localhost aka ::1).
2021-12-16 23:27:56 +01:00
pennae
2d564521c0 treewide: add literalDocBook text to options with complex defaults
some options have default that are best described in prose, such as
defaults that depend on the system stateVersion, defaults that are
derivations specific to the surrounding context, or those where the
expression is much longer and harder to understand than a simple text
snippet.
2021-12-09 01:38:24 +01:00
pennae
6eaf4f90c2 nixos/mpdscribble: add defaultText for some options using mpdCfg 2021-12-09 01:38:24 +01:00
pennae
c694c35f9d nixos/*: escape pkgs reference in examples and descriptions 2021-12-06 00:38:05 +01:00
pennae
2512455639 nixos/*: add trivial defaultText for options with simple defaults 2021-12-02 22:35:04 +01:00
Bernardo Meurer
a13bfe7fbc
roon-server: 1.8-831 -> 1.8-846 2021-11-04 09:40:19 -07:00
Robert Hensing
0699530f08
Merge pull request #136909 from ncfavier/cleanup-defaults-examples
nixos/doc: clean up defaults and examples
2021-10-04 20:37:42 +02:00
Naïm Favier
2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
Guillaume Girol
2b0a7ef8f2 nixos/hqplayerd: do not make manual depend on (unfree) hqplayerd 2021-10-03 12:00:00 +00:00
Lassulus
2e04b29a17
Merge pull request #126247 from kmein/feature/spotifyd
spotifyd: generate TOML config via formats
2021-09-09 20:08:03 +02:00
Bernardo Meurer
9e7af8a13c
nixos/roon-bridge: fix openFirewall 2021-08-31 01:21:07 -07:00
Bernardo Meurer
edddb705e8
nixos/roon-server: fix openFirewall 2021-08-31 01:20:07 -07:00
nyanloutre
c9fc751673 nixos/navidrome: init module and test
Co-authored-by: aciceri <andrea.ciceri@autistici.org>
Co-authored-by: nyanloutre <paul@nyanlout.re>
2021-08-17 10:32:25 -07:00
Bernardo Meurer
c934bb6771
nixos/hqplayerd: don't add config to restartTriggers when it doesn't exist
Previously when the use didn't set `hqplayer.config`, we would still
attempt to reference the config file in the restartTriggers, causing an
error.
2021-08-13 15:16:21 -07:00
Bernardo Meurer
e5aa940305
nixos/hqplayerd: allow configuration from Nix 2021-08-12 02:37:38 -07:00
Bernardo Meurer
b43049dbd7
nixos/hqplayerd: also open controller port 2021-08-12 02:36:42 -07:00
Bernardo Meurer
7c122d687b
nixos/hqplayerd: sort options 2021-08-12 00:37:36 -07:00
Bernardo Meurer
1df5e3cdf3
nixos/hqplayerd: use upstream unit as much as possible 2021-08-04 12:15:33 -07:00
Bernardo Meurer
e242633669
nixos/hqplayerd: remove configurable user/group
The service is adamant that it must run under the right user, so let's
just enforce it.
2021-08-04 12:15:31 -07:00
Bernardo Meurer
3ccb633f85
nixos/hqplayerd: use package-provided config file instead of blank 2021-08-04 12:15:14 -07:00
Bernardo Meurer
f949ce7449
nixos/hqplayerd: set HOME to path in state directory
The service likes to write files uploaded by the user to the service
user's $HOME. In our case the hqplayerd user has no home directory,
since it's a system user, and regardless we'd like to keep the service's
state contained.

With this change the unit forces HOME to point to
/var/lib/hqplayer/home, which works around the issue.
2021-08-03 23:29:31 -07:00
Bernardo Meurer
39bce8345f
Merge pull request #126798 from lovesegfault/nixos-hqplayerd
nixos/hqplayerd: init
2021-08-03 23:23:45 +00:00
Bernardo Meurer
05cba47810
nixos/hqplayerd: init 2021-08-03 15:54:23 -07:00
Bernardo Meurer
a8998d11c9
nixos/networkaudiod: init 2021-08-03 01:44:41 -07:00
Kierán Meinhardt
3f0fb76104 spotifyd: generate TOML config via formats 2021-07-24 07:56:44 +02:00
Philipp Hausmann
8bfd84cf3c slimserver: Fix user creation 2021-07-01 11:33:38 +02:00
Bernardo Meurer
c8f95fd174
nixos.roon-bridge: init 2021-06-13 03:38:42 -07:00
Vladimír Čunát
2ee781417e
nixos/*: replace alsa* aliases
The attributes got renamed in PR #126440 and in some places this caused
evaluation errors, e.g. the tarball job was saying (locally)
> attribute 'alsaUtils' missing, at /build/source/nixos/modules/services/audio/alsa.nix:6:4
and I suspect that trunk-combined jobset's failure to evaluate was also caused.
2021-06-10 09:46:55 +02:00
Martin Weinelt
59e5ff4b29
nixos/botamusique: init 2021-05-23 01:01:51 +02:00
talyz
88b76d5ef9
nixos/mpd: Use replace-secret to avoid leaking secrets
Using `replace-literal` to insert secrets leaks the secrets through
the `replace-literal` process' `/proc/<pid>/cmdline`
file. `replace-secret` solves this by reading the secret straight from
the file instead.
2021-05-19 09:32:22 +02:00
talyz
3a29b7bf5b
nixos/mpdscribble: Use replace-secret to avoid leaking secrets
Using `replace-literal` to insert secrets leaks the secrets through
the `replace-literal` process' `/proc/<pid>/cmdline`
file. `replace-secret` solves this by reading the secret straight from
the file instead, which also simplifies the code a bit.
2021-05-19 09:32:17 +02:00
Sandro Jäckel
ae02415ee8
treewide: remove gnidorah
due to github account removal/deletion and not other mean of contact.
2021-04-30 01:48:19 +02:00
Sandro
d9f9a4a976
Merge pull request #117554 from Zopieux/snapcast-meta 2021-04-07 10:30:32 +02:00
Sandro
e039d12c85
Merge pull request #117847 from SuperSandro2000/jmusicbot 2021-04-05 06:20:56 +02:00
Sandro Jäckel
d8a43688c9
nixos/jmusicbot: init 2021-04-03 02:34:12 +02:00
Doron Behar
9d47c33ee0
Merge pull request #82005 from esclear/mpd-socket
nixos/mpd: allow autostart when listening for unix socket
2021-03-28 20:04:31 +00:00
Alexandre Macabies
f5b0542cb1 nixos/snapserver: add support for meta stream type introduced in 0.23.0 2021-03-25 04:05:50 +01:00
Cabia Rangris
352405c0f6 nixos.spotifyd: fixed file not found error
When using password_cmd, there's a 'file not found' error due to missing sh binary in path.
For some reason, adding `path = [ "/bin" ]` doesn't fix the issue, but setting `SHELL` does.
Related documentation: https://spotifyd.github.io/spotifyd/config/File.html#shell-used-to-run-commands-indicated-by-password_cmd-or-on_song_changed_hook----omit-in-toc---
2021-03-10 13:26:10 +01:00
Sandro
a64370c164
Merge pull request #112295 from thelegy/snapserver-fix-buffer-options
nixos/snapserver: Fix buffer options not coercible to str
2021-02-07 17:10:34 +01:00
Jan Beinke
58d49db69d nixos/snapserver: Fix buffer options not coercible to str 2021-02-07 12:53:27 +01:00
Alexandre Macabies
255882fbcc nixos/snapserver: add AF_NETLINK to allowed address families
This is necessary for Librespot, which is spawned by snapserver in the
same cgroup. Librespot requires querying local ip links and addresses
for MDNS (Zeroconf/Avahi), and does so through NETLINK interface.
2021-02-05 19:23:25 +01:00
Alexandre Macabies
a36cc03d96 nixos/snapserver: update available stream types for v0.21.0
* Add 'librespot' (new name for 'spotify'), 'alsa', 'tcp'.
* Add a warning about the spotify -> librespot rename.
* Fix the deprecated example `mode = "listen"` for type 'pipe'.
* Update the tests to include a straightforward 'tcp' test.
2021-02-05 19:23:24 +01:00
bb2020
603e14c793 nixos/alsa: disable OSSEmulation by default
OSS Emulation is considered incomplete so disabling it by default.
Using user level alsa-oss library (nix-env -iA nixos.alsaOss) over
this kernel module is recommended.
2021-01-26 15:06:33 +03:00
volth
bc0d605cf1 treewide: fix double quoted strings in meta.description
Signed-off-by: Ben Siraphob <bensiraphob@gmail.com>
2021-01-24 19:56:59 +07:00
Doron Behar
4ce7f28508 nixos/mpd: use credentials only if needed 2021-01-11 09:07:34 +02:00
sohalt
59bd4c1fea nixos/mpdscribble: init 2021-01-09 23:38:12 +01:00
sohalt
dcbfdf1a71 nixos/mpd: remove credentialsFile in favor of credentials option 2020-12-26 17:53:01 +01:00
sohalt
f7384470de nixos/mpd: support passwords in separate files
This allows to use files containing only the mpd password without the
permissions, making it easier for other programs connecting to mpd to read the
password from the same password file.
2020-12-24 01:17:52 +01:00
Aaron Andersen
77a8496907 nixos/mpd: conditionally provision required directories with StateDirectory 2020-12-11 19:35:43 -05:00
WORLDofPEACE
fcef646736
Merge pull request #93431 from sorki/audio/pulseJack
nixos/jack,pulseaudio: fix pulse connection to jackd service
2020-11-09 19:40:12 -05:00
Richard Marko
f54612264e nixos/jack,pulseaudio: fix pulse connection to jackd service
This fixes the case when Jack Audio Daemon is running
as a service via `services.jack.jackd` and Pulseaudio
running as a *user* service.

Two issues prevented connecting `pulse` with `jackd`:
* Missing `JACK_PROMISCUOUS_SERVER` environment variable for `pulse` user service,
  resulting in `pulse` trying to access `jackd` as if it was running as part of
  the users session.
* `jackd` not being able to access socket created by `pulse` due to socket
  created using user ID and `users` group. Change allows `jackd` to access
  the socket created by `pulse` correctly.

`pulse` now also autoloads `module-jack-sink` and `module-jack-source`
if `services.jack.jackd.enable` is set.

The default `pulse` package is now set to `pulseaudioFull` automatically
if `services.jack.jackd.enable` is set.
2020-09-08 08:44:20 +02:00
Lassulus
e453860b8f
Merge pull request #86236 from ThibautMarty/fix-nullOr-types
treewide: fix modules options types where the default is null
2020-08-26 18:21:29 +02:00
Jörg Thalheim
ba930d8679
nixos/modules: remove trailing whitespace
This leads to ci failure otherwise if the file gets changed.
git-blame can ignore whitespace changes.
2020-08-07 14:45:39 +01:00
Martin Weinelt
cc4f533a9a
nixos/snapserver: update module to work with snapcast 0.20 2020-08-02 16:58:07 +02:00
Bernardo Meurer
0aadd405a3
services.roon-server: fix binary path 2020-07-23 11:38:13 -07:00
Atemu
206dc0cfac spotifyd: make option link clickable 2020-07-14 08:34:28 +02:00
Doron Behar
35521e4ea7
Merge pull request #95599 from doronbehar/module/mpd/passwordFile
nixos/mpd: Allow to configure a credentialsFile
2020-09-11 09:11:13 +03:00
Doron Behar
b4756fe0c4 nixos/mpd: Mention in /etc/mpd.conf it was autogenerated 2020-09-10 18:00:29 +03:00
Doron Behar
ccee8dc09f nixos/mpd: Allow to configure a credentialsFile
Allow to specify a password file to be located outside the store, and be
read in `ExecStartPre`.
2020-08-16 18:03:47 +03:00
Dominique Martinet
a4763da299 nixos/mpd: add services.mpd.fluidsynth option
fluidsynth is compiled in but soundfont-fluid needs to be explicitely
pulled in and path configured, an option makes it much simpler to use
2020-05-10 23:05:19 +02:00
Dominique Martinet
d8fa2627f3 mpd: remove user/group from conf
the options should not be set as we already change user with service
file, man mpd.conf says "Do not use this option if you start MPD as an
unprivileged user"

The group option actually is not documented at all anymore and probably
no longer exists.

These options get in the way of setting up confinement for the service,
as it would otherwise be pretty straightforward to setup, but even if
mpd is not root it would check the user exists within the chroot which
is more work (need to get nss working):

  systemd.services.mpd = {
    serviceConfig.BindPaths = [
      # mpd state dir
      "/var/lib/mpd"
      # notify systemd service started up
      "/run/systemd/notify"
    ];
    serviceConfig.BindReadOnlyPaths = [
      "/path/to/music:/var/lib/mpd/music"
    ];
    # ProtectSystem is not compatible with confinement
    serviceConfig.ProtectSystem = lib.mkForce false;
    confinement = {
      enable = true;
      binSh = null;
      mode = "chroot-only";
    };
  };
2020-05-10 20:24:33 +02:00
Thibaut Marty
4a0beed5c0 treewide: fix modules options types where the default is null
They can be caught with `nixos-option -r` on an empty ({...}:{}) NixOS
configuration.
2020-04-28 19:13:59 +02:00
adisbladis
5340ebe085
mopidy: Create a mopidyPackages set
This is to avoid mixing python versions in the same plugin closure.
2020-04-17 12:39:03 +01:00
Daniel Albert
7a2e940a3f nixos/mpd: allow autostart when listening for unix socket 2020-03-07 20:02:25 +01:00
rnhmjoj
2ad680ac73
nixos/alsa: replace list by attrset in environment.etc 2020-02-14 01:17:18 +01:00
Kevin Rauscher
05b4fe20a7 mopidy: update to python3
mopidy: 2.3.1 -> 3.0.1
mopidy-iris: 3.43.0 -> 3.44.0
mopidy-spotify: 3.1.0 -> 4.0.1
pykka: 1.2.0 -> 2.0.1
2020-02-10 09:53:13 +01:00
rnhmjoj
1d61efb7f1 treewide: use attrs instead of list for types.loaOf options 2020-01-06 10:39:18 -05:00
Silvan Mosberger
4ee3e8b21d
nixos/treewide: Move rename.nix imports to their respective modules
A centralized list for these renames is not good because:
- It breaks disabledModules for modules that have a rename defined
- Adding/removing renames for a module means having to find them in the
central file
- Merge conflicts due to multiple people editing the central file
2019-12-10 02:51:19 +01:00
Alex Guzman
752b8688b5 nixos/roon-server: fix broken user generation
Didn't notice this till I tried removing my custom roon user from the one I was testing with. There's not a 'groups' option for users, only group (primary group) and extraGroups. Use these.
 (#68337)
2019-11-29 23:50:10 +01:00
tobim
4a9d5493b7 mpd: 0.20.13 -> 0.21.16 (#57608)
* Refactor mpd

* mpd: 0.20.13 -> 0.21.5

Switch to meson based build, following upstream.

* Fix mpd on darwin

* mpd: 0.21.5 -> 0.21.6

* mpd-small: init add 0.21.6

* Update to 0.21.8 & fix ouput path

Also use pname instead of name.

* Update to 0.21.9

* Integrate review suggestions

- Expose run function as mpdWithFeatures.
- Throw on invalid feature requests.
- Drop major/minor version variables.
- Cosmetic improvements.

* Update to 0.21.10

* mpd: 0.21.10 -> 0.21.11

* mpd: 0.21.11 -> 0.21.12

* mpd: log to journal

* mpd: 0.21.12 -> 0.21.14

* mpd: add tobim to maintainers

* mpd: reenable syslog support

* mpd: 0.21.14 -> 0.21.15

* mpd: 0.21.15 -> 0.21.16
2019-11-13 15:38:46 +00:00
Matthias Beyer
4e3aa7b7b8 mpd: restart always
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-10-22 16:30:14 +02:00
Janne Heß
d6c08776ba treewide: Switch to system users 2019-10-12 22:25:28 +02:00
Mario Rodas
54433c443b
nixos/spotifyd: update spotifyd flags 2019-09-21 17:10:00 -05:00
volth
7b8fb5c06c treewide: remove redundant quotes 2019-09-08 23:38:31 +00:00
Vladimír Čunát
f21211ebfe
Merge branch 'master' into staging 2019-09-02 23:25:24 +02:00
Silvan Mosberger
478e7184f8
nixos/modules: Remove all usages of types.string
And replace them with a more appropriate type

Also fix up some minor module problems along the way
2019-08-31 18:19:00 +02:00
Frederik Rietdijk
5061fe0c2c Merge staging-next into staging 2019-08-28 08:26:42 +02:00
volth
35d68ef143 treewide: remove redundant quotes 2019-08-26 21:40:19 +00:00
Alex Guzman
9fec6dfa39 roon-server: add back state directory 2019-08-09 22:21:46 -07:00
Alex Guzman
d830ae9af3 [roon-server] Use non-deprecated string type 2019-08-09 13:02:46 -07:00
Alex Guzman
9f9b458ce3 [roon-server] don't create user if user changes defaults
If the user changes the user for roon, we can assume they handled the setup for it
2019-08-07 13:23:36 -07:00
Alex Guzman
6572b5e4a1 [roon-server] make roon user a system user 2019-08-07 13:12:57 -07:00
Alex Guzman
f160233793 roon-server: let nix assign ids 2019-08-07 12:34:52 -07:00
Alex Guzman
62d242d1cd roon-server: Add actual user piping
Adds defined IDs
2019-08-07 12:27:52 -07:00
Alex Guzman
8becc897ea roon-server: disable DynamicUser
DynamicUser currently breaks the backup functionality provided by roon,
as the roon server cannot write to non-canonical directories and the
recycled UIDs/GIDs would make managing permissions for the directory
impossible. On top of that, it would break the ability to manage the
local music library files (as it would not be able to delete them).
2019-08-07 11:57:42 -07:00
Anders Lundstedt
53841fcea9 nixos/spotifyd: init 2019-07-21 00:58:20 +02:00
Peter Hoeg
10dd03e0a3
Merge pull request #63551 from Steell/roon-server
roon-server: init at 100600401
2019-07-02 10:06:29 +08:00
Graham Christensen
38c28ef10c
Merge pull request #56265 from aanderse/permissions-start-only
replace deprecated usage of PermissionsStartOnly (part 2)
2019-06-25 18:04:22 -04:00
Steve Elliott
725e2793dd roon-server: init at 100600401 2019-06-25 09:34:07 -04:00
volth
f3282c8d1e treewide: remove unused variables (#63177)
* treewide: remove unused variables

* making ofborg happy
2019-06-16 19:59:05 +00:00
gnidorah
fe01afae42 nixos/jack: option to adjust dmix buffering (#62854) 2019-06-09 11:40:22 +02:00
gnidorah
ea82b7f98d nixos/jack: init 2019-05-30 07:25:30 +03:00
Aaron Andersen
d33c64eec8 nixos/slimserver: replace deprecated usage of PermissionsStartOnly
see https://github.com/NixOS/nixpkgs/issues/53852
2019-05-26 07:20:55 -04:00
Aaron Andersen
a8defe81d1 nixos/mopidy: replace deprecated usage of PermissionsStartOnly
see https://github.com/NixOS/nixpkgs/issues/53852
2019-05-25 13:48:41 -04:00
Aaron Andersen
919c87a106 nixos/mpd: replace deprecated usage of PermissionsStartOnly
see https://github.com/NixOS/nixpkgs/issues/53852
2019-04-13 07:00:56 -04:00
Aaron Andersen
5f9a639f69 nixos/liquidsoap: replace deprecated usage of PermissionsStartOnly
see https://github.com/NixOS/nixpkgs/issues/53852
2019-04-13 07:00:55 -04:00
Matthias Beyer
31884f788e ympd service: Allow webPort to be int
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-04-12 18:17:10 +02:00
Silvan Mosberger
502a4263a3
Merge pull request #55936 from tobim/modules/snapserver
nixos/snapserver: init
2019-03-07 00:00:48 +01:00
Tobias Mayer
085751b63b nixos/snapserver: init
A nixos module for configuring the server side of pkgs.snapcast.
The module is named "snapserver" following upstream convention.
This commit does not provide module for the corresponding client.

Fix handling of port and controlPort

Fix stream uri generation & address review

Remove unused streams options & add description

Add missing description & Remove default fs path

Use types.port for ports & formatting improvements

Force mpd and mopidy to wait for snapserver
2019-03-06 23:40:05 +01:00