Commit Graph

179 Commits

Author SHA1 Message Date
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
Will Dietz
b5c0aa9ea3
squeezelite: fix 'cfg' reference (#56271) 2019-02-23 18:28:02 -06:00
Peter Hoeg
440556a77c nixos squeezelite: run using DynamicUser 2018-10-10 17:41:18 +08:00
Johannes Frankenau
b9234ea49c nixos/mpd: allow storage plugins in musicDirectory 2018-08-03 21:36:38 +02:00
Florian Klink
fff5923686 nixos/modules: users.(extraUsers|extraGroup->users|group) 2018-06-30 03:02:58 +02:00
Robert Helgesson
323c2a1c6b
mpd: fix spelling in description 2018-06-03 09:55:26 +02:00
Andreas Rammhold
a0797bad2c
nixos/mpd: allow services.mpd.dbFile to be null
This change allows users to specify an alternative database method. For
example an mpd satellite setup where another mpd on the network shares
it's database with the local instance. The `dbFile` parameter must not be
configured in that case.
2018-06-01 19:17:15 +02:00
Philipp Hausmann
32bad1b636 nixos/slimserver: Disable broken image/video support (#40589) 2018-05-23 12:31:44 +02:00
Jan Malakhovski
5ec94de03c nixos: alsa: better docstring 2018-04-27 18:07:19 +01:00
Aristid Breitkreuz
e349ccc77f nixos/alsa: Do not make sound.enable conditional on stateVersion.
Eelco Dolstra wrote:

Hm, this is not really the intended use of stateVersion. From the description:

        Every once in a while, a new NixOS release may change
        configuration defaults in a way incompatible with stateful
        data. For instance, if the default version of PostgreSQL
        changes, the new version will probably be unable to read your
        existing databases. To prevent such breakage, you can set the
        value of this option to the NixOS release with which you want
        to be compatible. The effect is that NixOS will option
        defaults corresponding to the specified release (such as using
        an older version of PostgreSQL).

So this is only intended for options that have some corresponding on-disk state. AFAICT this is not the case for sound. In any case stateVersion is a necessary evil that only exists because we can't just upgrade Postgres databases or change SSH host keys. It's not necessary for things like whether sound is enabled. (If the user discovers that sound is suddenly disabled, they can just enable it.)

I had some vague recollection that we also had a configVersion option setting to control the defaults for non-state-related options, but I can't find it so maybe it was only discussed.
2018-02-23 23:14:42 +01:00
Aristid Breitkreuz
a43e33d0e4 nixos: disable sound by default, if stateVersion >= 18.03 (#35355) 2018-02-22 22:06:31 +00:00
Yegor Timoshenko
85b84527f6
mopidy: fix, resolves #32234 2018-01-08 14:32:36 +00:00
Casey Rodarmor
ae02dd2d0a nixos/mpd: allow configuring playlist directory (#28252) 2017-08-20 20:34:34 +00:00
Benno Fünfstück
1d78df2729 Merge pull request #27000 from Balletie/fix/pulseaudio-alsa-conf
pulseaudio: Resolve conflicting asound.conf of pulseaudio and alsa
2017-07-17 08:20:38 +02:00
Johannes Frankenau
c4528eb4cc mpd service: Start when needed and harden 2017-07-04 09:50:34 +02:00
Johannes Frankenau
0dd204ebfe mpd service: Create playlist directory 2017-07-01 09:13:49 +02:00
Balletie
44fadbb9bd
pulseaudio: Resolve conflicting asound.conf of pulseaudio and alsa
Fixes issue #25790.
2017-07-01 00:06:34 +02:00
Philipp Hausmann
c904e68e53 Remove static uid/gid 2017-03-18 13:54:39 +01:00
Philipp Hausmann
ffa0a87774 Remove unused options 2017-03-16 20:51:06 +01:00
Philipp Hausmann
0bd6fdcfc4 Cosmetics 2017-03-16 20:50:10 +01:00
Philipp Hausmann
45d8d6ebeb Add slimserver nixos module 2017-03-16 20:43:09 +01:00
Profpatsch
2b0469c48f modules/mpd: factor out name & mention man 5 mpd.conf 2017-02-18 16:03:16 +01:00
Jörg Thalheim
05f2f8e1fd Merge pull request #21505 from tg-x/mpd-listen
mpd: listen on 127.0.0.1 by default
2017-01-01 16:06:17 +01:00
tg(x)
002f3c8760 mpd: listen on 127.0.0.1 by default 2017-01-01 13:46:39 +01:00
Robin Stumm
11fe837758 rename sound.enableMediaKeys to sound.mediaKeys.enable and add volumeStep 2017-01-01 11:44:07 +01:00
Emery Hemingway
b675619391 nixos: use types.lines for extraConfig 2016-10-23 19:41:43 +02:00
Langston Barrett
25a7ded89c audio services: use mkEnableOption (#18524) 2016-09-12 04:47:08 +02:00
Joachim Fasting
0a6221578a
mpd service: replace script with serviceConfig.ExecStart 2016-09-10 18:30:14 +02:00
Joachim Fasting
009c1848c2
mpd service: add types to all options 2016-09-10 18:30:14 +02:00
Langston Barrett
77cedff4e7 ympd service: init (#18371)
ympd provides a web ui, it is suitable to be run as a service.
Fixes #17878.

service has no requirements b/c user might be using remote mpd
instance.
2016-09-10 18:23:39 +02:00
Langston Barrett
a28273df32 mopidy service: add default value for configuration (#17385)
Mopidy will start if the configuration is empty.

Fixes #17381.
2016-07-31 18:35:09 +02:00
Phil Wetzel
ccdf386a97 squeezelite service: init 2016-06-11 22:05:07 -04:00