start mopidy and spotifyd
This commit is contained in:
parent
7711ee80eb
commit
f38f69b0d2
4 changed files with 168 additions and 5 deletions
|
@ -38,11 +38,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1633267966,
|
"lastModified": 1633422542,
|
||||||
"narHash": "sha256-gFKvZ5AmV/dDTKXVxacPbXe4R0BsFpwtVaQxuIm2nnk=",
|
"narHash": "sha256-JYz2PmVogNRO8DhcvXzL/QhZzboTspJz2YSRlnAj8aM=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "7daf35532d2d8bf5e6f7f962e6cd13a66d01a71d",
|
"rev": "aff647e2704fa1223994604887bb78276dc57083",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -62,7 +62,7 @@
|
||||||
"secrets": {
|
"secrets": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"narHash": "sha256-XRWlSFaGqmeDstMQS46KUOkIks0wLADTiHC09pYVyMc=",
|
"narHash": "sha256-1myorrO1qwgIHPz2UkU45qZp+X4RdQgJpay93z1VNCM=",
|
||||||
"path": "/home/palo/dev/secrets",
|
"path": "/home/palo/dev/secrets",
|
||||||
"type": "path"
|
"type": "path"
|
||||||
},
|
},
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
#./lan.nix
|
#./lan.nix
|
||||||
./dms.nix
|
./dms.nix
|
||||||
./borg.nix
|
./borg.nix
|
||||||
|
./mpd.nix
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
162
nixos/configs/pepe/mpd.nix
Normal file
162
nixos/configs/pepe/mpd.nix
Normal file
|
@ -0,0 +1,162 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.mopidy = {
|
||||||
|
enable = true;
|
||||||
|
extensionPackages = with pkgs; [
|
||||||
|
#mopidy-spotify
|
||||||
|
mopidy-iris
|
||||||
|
mopidy-local
|
||||||
|
mopidy-mpd
|
||||||
|
mopidy-podcast
|
||||||
|
mopidy-youtube
|
||||||
|
];
|
||||||
|
|
||||||
|
configuration = ''
|
||||||
|
|
||||||
|
[mpd]
|
||||||
|
hostname = ::
|
||||||
|
|
||||||
|
[http]
|
||||||
|
hostname = 0.0.0.0
|
||||||
|
|
||||||
|
[local]
|
||||||
|
enabled = true
|
||||||
|
media_dir = /media/syncthing/music-library
|
||||||
|
|
||||||
|
[file]
|
||||||
|
enabled = false
|
||||||
|
media_dirs =
|
||||||
|
/media/syncthing/music-library|Penis
|
||||||
|
|
||||||
|
[iris]
|
||||||
|
country = de
|
||||||
|
locale = de_DE
|
||||||
|
|
||||||
|
[audio]
|
||||||
|
output = alsasink
|
||||||
|
|
||||||
|
[stream]
|
||||||
|
enabled = true
|
||||||
|
timeout = 5000
|
||||||
|
protocols =
|
||||||
|
http
|
||||||
|
https
|
||||||
|
mms
|
||||||
|
rtmp
|
||||||
|
rtmps
|
||||||
|
rtsp
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups."syncthing".members = [ "mopidy" ];
|
||||||
|
|
||||||
|
sound.enable = true;
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
6680 # mopidy
|
||||||
|
6600 # mpd
|
||||||
|
1234 # zeroconf
|
||||||
|
];
|
||||||
|
|
||||||
|
users.users."spotifyd" = {
|
||||||
|
isSystemUser = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
sops.secrets.spotify_pass = {
|
||||||
|
owner = "spotifyd";
|
||||||
|
};
|
||||||
|
sops.secrets.spotify_user = {
|
||||||
|
owner = "spotifyd";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.spotifyd.enable = true;
|
||||||
|
services.spotifyd.config = ''
|
||||||
|
[global]
|
||||||
|
# Your Spotify account name.
|
||||||
|
#username = "yolo"
|
||||||
|
username_cmd = "cat ${config.sops.secrets.spotify_user.path}"
|
||||||
|
|
||||||
|
# A command that gets executed and can be used to
|
||||||
|
# retrieve your password.
|
||||||
|
# The command should return the password on stdout.
|
||||||
|
#
|
||||||
|
# This is an alternative to the `password` field. Both
|
||||||
|
# can't be used simultaneously.
|
||||||
|
password_cmd = "cat ${config.sops.secrets.spotify_pass.path}"
|
||||||
|
|
||||||
|
# If set to true, `spotifyd` tries to look up your
|
||||||
|
# password in the system's password storage.
|
||||||
|
#
|
||||||
|
# This is an alternative to the `password` field. Both
|
||||||
|
# can't be used simultaneously.
|
||||||
|
#use_keyring = true
|
||||||
|
|
||||||
|
# If set to true, `spotifyd` tries to bind to the session dbus
|
||||||
|
# and expose MPRIS controls. When running headless, without a dbus session,
|
||||||
|
# then set this to false to avoid binding errors
|
||||||
|
#
|
||||||
|
#use_mpris = true
|
||||||
|
|
||||||
|
# The audio backend used to play the your music. To get
|
||||||
|
# a list of possible backends, run `spotifyd --help`.
|
||||||
|
backend = "alsa" # use portaudio for macOS [homebrew]
|
||||||
|
|
||||||
|
# The alsa audio device to stream audio to. To get a
|
||||||
|
# list of valid devices, run `aplay -L`,
|
||||||
|
#device = "alsa_audio_device" # omit for macOS
|
||||||
|
|
||||||
|
# The alsa control device. By default this is the same
|
||||||
|
# name as the `device` field.
|
||||||
|
#control = "alsa_audio_device" # omit for macOS
|
||||||
|
|
||||||
|
# The alsa mixer used by `spotifyd`.
|
||||||
|
mixer = "PCM" # omit for macOS
|
||||||
|
|
||||||
|
# The volume controller. Each one behaves different to
|
||||||
|
# volume increases. For possible values, run
|
||||||
|
# `spotifyd --help`.
|
||||||
|
volume_controller = "alsa" # use softvol for macOS
|
||||||
|
|
||||||
|
# The name that gets displayed under the connect tab on
|
||||||
|
# official clients. Spaces are not allowed!
|
||||||
|
device_name = "Pepe"
|
||||||
|
|
||||||
|
# The audio bitrate. 96, 160 or 320 kbit/s
|
||||||
|
bitrate = 160
|
||||||
|
|
||||||
|
# The directory used to cache audio data. This setting can save
|
||||||
|
# a lot of bandwidth when activated, as it will avoid re-downloading
|
||||||
|
# audio files when replaying them.
|
||||||
|
#
|
||||||
|
# Note: The file path does not get expanded. Environment variables and
|
||||||
|
# shell placeholders like $HOME or ~ don't work!
|
||||||
|
#cache_path = "cache_directory"
|
||||||
|
|
||||||
|
# If set to true, audio data does NOT get cached.
|
||||||
|
no_audio_cache = true
|
||||||
|
|
||||||
|
# Volume on startup between 0 and 100
|
||||||
|
# NOTE: This variable's type will change in v0.4, to a number (instead of string)
|
||||||
|
initial_volume = "90"
|
||||||
|
|
||||||
|
# If set to true, enables volume normalisation between songs.
|
||||||
|
volume_normalisation = true
|
||||||
|
|
||||||
|
# The normalisation pregain that is applied for each song.
|
||||||
|
normalisation_pregain = -10
|
||||||
|
|
||||||
|
# The port `spotifyd` uses to announce its service over the network.
|
||||||
|
zeroconf_port = 1234
|
||||||
|
|
||||||
|
# The proxy `spotifyd` will use to connect to spotify.
|
||||||
|
#proxy = "http://proxy.example.org:8080"
|
||||||
|
|
||||||
|
# The displayed device type in Spotify clients.
|
||||||
|
# Can be unknown, computer, tablet, smartphone, speaker, t_v,
|
||||||
|
# a_v_r (Audio/Video Receiver), s_t_b (Set-Top Box), and audio_dongle.
|
||||||
|
device_type = "computer"
|
||||||
|
'';
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -54,7 +54,7 @@
|
||||||
after = [ "media.mount" ];
|
after = [ "media.mount" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
users.groups."syncthing".members = [ "mpd" "syncthing" "kodi" "palo" ];
|
users.groups."syncthing".members = [ mpd" "syncthing" "kodi" "palo" ];
|
||||||
|
|
||||||
backup.dirs = [ "/var/lib/syncthing/finance" ];
|
backup.dirs = [ "/var/lib/syncthing/finance" ];
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue