chore: format file

This commit is contained in:
Gustavo "Guz" L. de Mello
2024-04-28 20:44:17 -03:00
parent 498ae72272
commit b0310f55b0

View File

@@ -1,20 +1,19 @@
{ config
, lib
, pkgs
, ...
}:
let
cfg = config.profiles.media-server;
in
{
config,
lib,
pkgs,
...
}: let
cfg = config.profiles.media-server;
in {
options.profiles.media-server = with lib;
with lib.types; {
enable = mkEnableOption "";
mediaDir = mkOption {
type = path;
default = "/data/media";
};
with lib.types; {
enable = mkEnableOption "";
mediaDir = mkOption {
type = path;
default = "/data/media";
};
};
config = with lib;
mkIf cfg.enable {
services = {
@@ -28,54 +27,52 @@ in
};
systemd.services.media-server-setup = {
script =
let
services = config.services;
in
''
function setfacl() { ${pkgs.acl}/bin/setfacl "$@"; }
script = let
services = config.services;
in ''
function setfacl() { ${pkgs.acl}/bin/setfacl "$@"; }
echo 'Creating ${toString cfg.mediaDir} folder'
mkdir -p ${toString cfg.mediaDir}
mkdir -p ${toString cfg.mediaDir + "/Downloads"}
mkdir -p ${toString cfg.mediaDir + "/Movies"}
mkdir -p ${toString cfg.mediaDir + "/Shows"}
echo 'Creating ${toString cfg.mediaDir} folder'
mkdir -p ${toString cfg.mediaDir}
mkdir -p ${toString cfg.mediaDir + "/Downloads"}
mkdir -p ${toString cfg.mediaDir + "/Movies"}
mkdir -p ${toString cfg.mediaDir + "/Shows"}
${
if services.jellyfin.enable
then ''
echo 'Giving read-write permission to ${services.jellyfin.user} on ${toString cfg.mediaDir}'
setfacl -R -m u:${services.jellyfin.user}:rwx ${toString cfg.mediaDir}
''
else ""
}
${
if services.radarr.enable
then ''
echo 'Giving read-write permission to ${services.radarr.user} on ${toString cfg.mediaDir}'
setfacl -R -m u:${services.radarr.user}:rwx ${toString cfg.mediaDir}
''
else ""
}
${
if services.sonarr.enable
then ''
echo 'Giving read-write permission to ${services.sonarr.user} on ${toString cfg.mediaDir}'
setfacl -R -m u:${services.sonarr.user}:rwx ${toString cfg.mediaDir}
''
else ""
}
${
if services.qbittorrent.enable
then ''
echo 'Giving read-write permission to ${services.qbittorrent.user} on ${toString cfg.mediaDir}'
setfacl -R -m u:${services.qbittorrent.user}:rwx ${toString cfg.mediaDir}
''
else ""
}
${
if services.jellyfin.enable
then ''
echo 'Giving read-write permission to ${services.jellyfin.user} on ${toString cfg.mediaDir}'
setfacl -R -m u:${services.jellyfin.user}:rwx ${toString cfg.mediaDir}
''
else ""
}
${
if services.radarr.enable
then ''
echo 'Giving read-write permission to ${services.radarr.user} on ${toString cfg.mediaDir}'
setfacl -R -m u:${services.radarr.user}:rwx ${toString cfg.mediaDir}
''
else ""
}
${
if services.sonarr.enable
then ''
echo 'Giving read-write permission to ${services.sonarr.user} on ${toString cfg.mediaDir}'
setfacl -R -m u:${services.sonarr.user}:rwx ${toString cfg.mediaDir}
''
else ""
}
${
if services.qbittorrent.enable
then ''
echo 'Giving read-write permission to ${services.qbittorrent.user} on ${toString cfg.mediaDir}'
setfacl -R -m u:${services.qbittorrent.user}:rwx ${toString cfg.mediaDir}
''
else ""
}
'';
wantedBy = [ "multi-user.target" ];
'';
wantedBy = ["multi-user.target"];
serviceConfig = {
Type = "oneshot";
};