Use overlay

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-08-17 21:21:52 +03:00
parent 795ea28583
commit 4330c20faf
95 changed files with 551 additions and 736 deletions

View File

@@ -1,19 +1,11 @@
{
pkgs,
inputs,
system,
...
}:
let
selfPkgs = inputs.self.packages.${system};
in
{ pkgs, ... }:
pkgs.dockerTools.buildImage {
name = "comentario";
fromImage = import ../base { inherit pkgs; };
copyToRoot = pkgs.buildEnv {
name = "root";
paths = with selfPkgs; [ comentario ];
paths = with pkgs; [ comentario ];
pathsToLink = [
"/bin"
"/lib"

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"

View File

@@ -1,19 +1,11 @@
{
pkgs,
inputs,
system,
...
}:
let
selfPkgs = inputs.self.packages.${system};
in
{ pkgs, ... }:
pkgs.dockerTools.buildImage {
name = "littlelink-server";
fromImage = import ../base { inherit pkgs; };
copyToRoot = pkgs.buildEnv {
name = "root";
paths = with selfPkgs; [ littlelink-server ];
paths = with pkgs; [ littlelink-server ];
pathsToLink = [ "/bin" ];
};

View File

@@ -1,19 +1,11 @@
{
pkgs,
inputs,
system,
...
}:
let
selfPkgs = inputs.self.packages.${system};
in
{ pkgs, ... }:
pkgs.dockerTools.buildImage {
name = "oidcwarden";
fromImage = import ../base { inherit pkgs; };
copyToRoot = pkgs.buildEnv {
name = "root";
paths = with selfPkgs; [
paths = with pkgs; [
oidcwarden
oidcwarden.webvault
];
@@ -26,7 +18,7 @@ pkgs.dockerTools.buildImage {
config = {
Entrypoint = [ "oidcwarden" ];
Env = [
"WEB_VAULT_FOLDER=${selfPkgs.oidcwarden.webvault}/share/vaultwarden/vault"
"WEB_VAULT_FOLDER=${pkgs.oidcwarden.webvault}/share/vaultwarden/vault"
"DATA_FOLDER=/var/lib/vaultwarden"
"ROCKET_PROFILE=release"
"ROCKET_ADDRESS=0.0.0.0"

View File

@@ -1,12 +1,5 @@
{
pkgs,
inputs,
system,
...
}:
{ pkgs, ... }:
let
selfPkgs = inputs.self.packages.${system};
entrypoint = pkgs.writeTextFile {
name = "entrypoint";
executable = true;
@@ -20,7 +13,7 @@ pkgs.dockerTools.buildImage {
copyToRoot = pkgs.buildEnv {
name = "root";
paths = with selfPkgs; [
paths = with pkgs; [
entrypoint
prometheus-fail2ban-exporter
];

View File

@@ -1,12 +1,5 @@
{
pkgs,
inputs,
system,
...
}:
{ pkgs, ... }:
let
selfPkgs = inputs.self.packages.${system};
entrypoint = pkgs.writeTextFile {
name = "entrypoint";
executable = true;
@@ -20,9 +13,9 @@ pkgs.dockerTools.buildImage {
copyToRoot = pkgs.buildEnv {
name = "root";
paths = [
paths = with pkgs; [
entrypoint
selfPkgs.prometheus-podman-exporter
prometheus-podman-exporter
];
pathsToLink = [ "/bin" ];
};

View File

@@ -1,15 +1,8 @@
{
pkgs,
inputs,
system,
...
}:
{ pkgs, ... }:
let
selfPkgs = inputs.self.packages.${system};
shlink-web-client = pkgs.runCommandLocal "shlink-web-client" { } ''
mkdir -p $out/var/www
cp -r ${selfPkgs.shlink-web-client} $out/var/www/shlink-web-client
cp -r ${pkgs.shlink-web-client} $out/var/www/shlink-web-client
'';
nginxConfig = pkgs.writeTextDir "/etc/nginx/nginx.conf" ''

View File

@@ -1,12 +1,5 @@
{
pkgs,
inputs,
system,
...
}:
{ pkgs, ... }:
let
selfPkgs = inputs.self.packages.${system};
php = pkgs.php84.buildEnv {
extensions =
{ all, ... }:
@@ -32,7 +25,7 @@ let
shlink = pkgs.runCommandLocal "shlink" { } ''
mkdir -p $out/var/www
cp -r ${selfPkgs.shlink} $out/var/www/shlink
cp -r ${pkgs.shlink} $out/var/www/shlink
rr_config_path="$out/var/www/shlink/config/roadrunner/.rr.yml"
original_mode="$(stat -c "%a" "$rr_config_path")"