nixos/mopidy: remove "with" statment

This commit is contained in:
Felix Buehler 2024-11-14 23:39:47 +01:00
parent af6f9b7aa8
commit fba9ba64b3

View File

@ -1,24 +1,20 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with pkgs;
with lib;
let let
uid = config.ids.uids.mopidy; uid = config.ids.uids.mopidy;
gid = config.ids.gids.mopidy; gid = config.ids.gids.mopidy;
cfg = config.services.mopidy; cfg = config.services.mopidy;
mopidyConf = writeText "mopidy.conf" cfg.configuration; mopidyConf = pkgs.writeText "mopidy.conf" cfg.configuration;
mopidyEnv = buildEnv { mopidyEnv = pkgs.buildEnv {
name = "mopidy-with-extensions-${mopidy.version}"; name = "mopidy-with-extensions-${pkgs.mopidy.version}";
ignoreCollisions = true; ignoreCollisions = true;
paths = closePropagation cfg.extensionPackages; paths = lib.closePropagation cfg.extensionPackages;
pathsToLink = [ "/${mopidyPackages.python.sitePackages}" ]; pathsToLink = [ "/${pkgs.mopidyPackages.python.sitePackages}" ];
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ pkgs.makeWrapper ];
postBuild = '' postBuild = ''
makeWrapper ${mopidy}/bin/mopidy $out/bin/mopidy \ makeWrapper ${pkgs.mopidy}/bin/mopidy $out/bin/mopidy \
--prefix PYTHONPATH : $out/${mopidyPackages.python.sitePackages} --prefix PYTHONPATH : $out/${pkgs.mopidyPackages.python.sitePackages}
''; '';
}; };
in { in {
@ -27,49 +23,47 @@ in {
services.mopidy = { services.mopidy = {
enable = mkEnableOption "Mopidy, a music player daemon"; enable = lib.mkEnableOption "Mopidy, a music player daemon";
dataDir = mkOption { dataDir = lib.mkOption {
default = "/var/lib/mopidy"; default = "/var/lib/mopidy";
type = types.str; type = lib.types.str;
description = '' description = ''
The directory where Mopidy stores its state. The directory where Mopidy stores its state.
''; '';
}; };
extensionPackages = mkOption { extensionPackages = lib.mkOption {
default = []; default = [];
type = types.listOf types.package; type = lib.types.listOf lib.types.package;
example = literalExpression "[ pkgs.mopidy-spotify ]"; example = lib.literalExpression "[ pkgs.mopidy-spotify ]";
description = '' description = ''
Mopidy extensions that should be loaded by the service. Mopidy extensions that should be loaded by the service.
''; '';
}; };
configuration = mkOption { configuration = lib.mkOption {
default = ""; default = "";
type = types.lines; type = lib.types.lines;
description = '' description = ''
The configuration that Mopidy should use. The configuration that Mopidy should use.
''; '';
}; };
extraConfigFiles = mkOption { extraConfigFiles = lib.mkOption {
default = []; default = [];
type = types.listOf types.str; type = lib.types.listOf lib.types.str;
description = '' description = ''
Extra config file read by Mopidy when the service starts. Extra config file read by Mopidy when the service starts.
Later files in the list overrides earlier configuration. Later files in the list overrides earlier configuration.
''; '';
}; };
}; };
}; };
###### implementation ###### implementation
config = mkIf cfg.enable { config = lib.mkIf cfg.enable {
systemd.tmpfiles.settings."10-mopidy".${cfg.dataDir}.d = { systemd.tmpfiles.settings."10-mopidy".${cfg.dataDir}.d = {
user = "mopidy"; user = "mopidy";
@ -82,7 +76,7 @@ in {
wants = [ "network-online.target" ]; wants = [ "network-online.target" ];
description = "mopidy music player daemon"; description = "mopidy music player daemon";
serviceConfig = { serviceConfig = {
ExecStart = "${mopidyEnv}/bin/mopidy --config ${concatStringsSep ":" ([mopidyConf] ++ cfg.extraConfigFiles)}"; ExecStart = "${mopidyEnv}/bin/mopidy --config ${lib.concatStringsSep ":" ([mopidyConf] ++ cfg.extraConfigFiles)}";
User = "mopidy"; User = "mopidy";
}; };
}; };
@ -90,7 +84,7 @@ in {
systemd.services.mopidy-scan = { systemd.services.mopidy-scan = {
description = "mopidy local files scanner"; description = "mopidy local files scanner";
serviceConfig = { serviceConfig = {
ExecStart = "${mopidyEnv}/bin/mopidy --config ${concatStringsSep ":" ([mopidyConf] ++ cfg.extraConfigFiles)} local scan"; ExecStart = "${mopidyEnv}/bin/mopidy --config ${lib.concatStringsSep ":" ([mopidyConf] ++ cfg.extraConfigFiles)} local scan";
User = "mopidy"; User = "mopidy";
Type = "oneshot"; Type = "oneshot";
}; };
@ -105,7 +99,5 @@ in {
}; };
users.groups.mopidy.gid = gid; users.groups.mopidy.gid = gid;
}; };
} }