chore: format file
This commit is contained in:
@@ -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";
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user