38 lines
890 B
Nix
38 lines
890 B
Nix
{
|
|
options,
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
with lib;
|
|
with lib.frajul; let
|
|
cfg = config.services.arion.jellyfin;
|
|
in {
|
|
options.services.arion.jellyfin = with types; {
|
|
enable = mkBoolOpt false "Enable jellyfin";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
virtualisation.arion.enable = true;
|
|
virtualisation.arion.projects.jellyfin.settings = {
|
|
project.name = "jellyfin";
|
|
services.jellyfin.service = {
|
|
image = "jellyfin/jellyfin";
|
|
ports = [
|
|
"8096:8096"
|
|
];
|
|
volumes = [
|
|
"/home/${config.user.name}/.local/share/jellyfin/config:/config"
|
|
"/home/${config.user.name}/.local/share/jellyfin/cache:/cache"
|
|
"/home/${config.user.name}/.local/share/jellyfin/media:/media"
|
|
];
|
|
};
|
|
};
|
|
|
|
home.persist.directories = [
|
|
".local/share/jellyfin/config"
|
|
".local/share/jellyfin/cache"
|
|
];
|
|
};
|
|
}
|