Use overlay

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-08-17 21:15:54 +03:00
parent 795ea28583
commit ce342d483c
94 changed files with 547 additions and 710 deletions

View File

@@ -1,12 +1,5 @@
{
pkgs,
inputs,
system,
...
}:
{ pkgs, ... }:
let
selfPkgs = inputs.self.packages.${system};
jellyfin = pkgs.jellyfin.overrideAttrs (_: {
makeWrapperArgs = [
"--add-flags"
@@ -19,55 +12,6 @@ let
cp -r ${pkgs.jellyfin-web}/share/jellyfin-web $out/var/www/jellyfin
'';
jellyfin-plugin-bookshelf-bin = pkgs.runCommandLocal "jellyfin-plugin-bookshelf-bin" { } ''
mkdir -p $out/var/lib/jellyfin/plugins
cp -r ${selfPkgs.jellyfin-plugin-bookshelf-bin} $out/var/lib/jellyfin/plugins/bookshelf
'';
jellyfin-plugin-intro-skipper-bin = pkgs.runCommandLocal "jellyfin-plugin-intro-skipper-bin" { } ''
mkdir -p $out/var/lib/jellyfin/plugins
cp -r ${selfPkgs.jellyfin-plugin-intro-skipper-bin} $out/var/lib/jellyfin/plugins/intro-skipper
'';
jellyfin-plugin-opensubtitles-bin = pkgs.runCommandLocal "jellyfin-plugin-opensubtitles-bin" { } ''
mkdir -p $out/var/lib/jellyfin/plugins
cp -r ${selfPkgs.jellyfin-plugin-opensubtitles-bin} $out/var/lib/jellyfin/plugins/opensubtitles
'';
jellyfin-plugin-playbackreporting-bin =
pkgs.runCommandLocal "jellyfin-plugin-playbackreporting-bin" { }
''
mkdir -p $out/var/lib/jellyfin/plugins
cp -r ${selfPkgs.jellyfin-plugin-playbackreporting-bin} $out/var/lib/jellyfin/plugins/playbackreporting
'';
jellyfin-plugin-reports-bin = pkgs.runCommandLocal "jellyfin-plugin-reports-bin" { } ''
mkdir -p $out/var/lib/jellyfin/plugins
cp -r ${selfPkgs.jellyfin-plugin-reports-bin} $out/var/lib/jellyfin/plugins/reports
'';
jellyfin-plugin-sso-bin = pkgs.runCommandLocal "jellyfin-plugin-sso-bin" { } ''
mkdir -p $out/var/lib/jellyfin/plugins
cp -r ${selfPkgs.jellyfin-plugin-sso-bin} $out/var/lib/jellyfin/plugins/sso
'';
jellyfin-plugin-subtitleextract-bin =
pkgs.runCommandLocal "jellyfin-plugin-subtitleextract-bin" { }
''
mkdir -p $out/var/lib/jellyfin/plugins
cp -r ${selfPkgs.jellyfin-plugin-subtitleextract-bin} $out/var/lib/jellyfin/plugins/subtitleextract
'';
jellyfin-plugin-tmdbboxsets-bin = pkgs.runCommandLocal "jellyfin-plugin-tmdbboxsets-bin" { } ''
mkdir -p $out/var/lib/jellyfin/plugins
cp -r ${selfPkgs.jellyfin-plugin-tmdbboxsets-bin} $out/var/lib/jellyfin/plugins/tmdbboxsets
'';
jellyfin-plugin-tvdb-bin = pkgs.runCommandLocal "jellyfin-plugin-tvdb-bin" { } ''
mkdir -p $out/var/lib/jellyfin/plugins
cp -r ${selfPkgs.jellyfin-plugin-tvdb-bin} $out/var/lib/jellyfin/plugins/tvdb
'';
entrypoint = pkgs.writeTextFile {
name = "entrypoint";
executable = true;
@@ -81,23 +25,27 @@ pkgs.dockerTools.buildImage {
copyToRoot = pkgs.buildEnv {
name = "root";
paths = with pkgs; [
entrypoint
jellyfin
jellyfin-web
jellyfin-plugin-bookshelf-bin
jellyfin-plugin-intro-skipper-bin
jellyfin-plugin-opensubtitles-bin
jellyfin-plugin-playbackreporting-bin
jellyfin-plugin-reports-bin
jellyfin-plugin-sso-bin
jellyfin-plugin-subtitleextract-bin
jellyfin-plugin-tmdbboxsets-bin
jellyfin-plugin-tvdb-bin
jellyfin-ffmpeg
curl
jq
];
paths =
with pkgs;
[
entrypoint
jellyfin
jellyfin-web
jellyfin-ffmpeg
curl
jq
]
++ (with jellyfinPlugins; [
bookshelf
intro-skipper
opensubtitles
playbackreporting
reports
sso
subtitleextract
tmdbboxsets
tvdb
]);
pathsToLink = [
"/bin"
"/lib"