2024-03-04 20:04:26 +00:00
|
|
|
{ config, lib, newScope, kodi, libretro }:
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2021-10-30 20:59:56 +01:00
|
|
|
let
|
2024-03-06 01:43:29 +00:00
|
|
|
inherit (lib)
|
|
|
|
catAttrs
|
|
|
|
concatLists
|
|
|
|
filter
|
|
|
|
optionalAttrs
|
|
|
|
unique
|
|
|
|
;
|
|
|
|
|
2023-07-25 11:46:54 +01:00
|
|
|
inherit (libretro) fuse genesis-plus-gx mgba nestopia snes9x twenty-fortyeight;
|
2021-10-30 20:59:56 +01:00
|
|
|
|
2021-03-15 22:50:58 +00:00
|
|
|
callPackage = newScope self;
|
|
|
|
|
|
|
|
# Check whether a derivation provides a Kodi addon.
|
|
|
|
hasKodiAddon = drv: drv ? kodiAddonFor && drv.kodiAddonFor == kodi;
|
|
|
|
|
|
|
|
# Get list of required Kodi addons given a list of derivations.
|
|
|
|
requiredKodiAddons = drvs:
|
|
|
|
let
|
|
|
|
modules = filter hasKodiAddon drvs;
|
|
|
|
in
|
|
|
|
unique (modules ++ concatLists (catAttrs "requiredKodiAddons" modules));
|
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
self = {
|
|
|
|
addonDir = "/share/kodi/addons";
|
|
|
|
|
2023-01-07 16:35:52 +00:00
|
|
|
rel = kodi.kodiReleaseName;
|
2024-03-08 22:34:26 +00:00
|
|
|
|
|
|
|
inherit callPackage kodi hasKodiAddon requiredKodiAddons;
|
|
|
|
|
|
|
|
# Convert derivation to a kodi module. Stolen from ../../../top-level/python-packages.nix
|
|
|
|
toKodiAddon = drv: drv.overrideAttrs (oldAttrs: {
|
|
|
|
# Use passthru in order to prevent rebuilds when possible.
|
|
|
|
passthru = (oldAttrs.passthru or {}) // {
|
|
|
|
kodiAddonFor = kodi;
|
|
|
|
requiredKodiAddons = requiredKodiAddons drv.propagatedBuildInputs;
|
|
|
|
};
|
|
|
|
});
|
|
|
|
|
|
|
|
# package update scripts
|
2021-03-16 01:59:08 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
addonUpdateScript = callPackage ../applications/video/kodi/addons/addon-update-script { };
|
2021-03-16 01:59:08 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
# package builders
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
buildKodiAddon = callPackage ../applications/video/kodi/build-kodi-addon.nix { };
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
buildKodiBinaryAddon = callPackage ../applications/video/kodi/build-kodi-binary-addon.nix { };
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
# regular packages
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
kodi-platform = callPackage ../applications/video/kodi/addons/kodi-platform { };
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
# addon packages
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
a4ksubtitles = callPackage ../applications/video/kodi/addons/a4ksubtitles { };
|
2021-03-22 02:11:09 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
arteplussept = callPackage ../applications/video/kodi/addons/arteplussept { };
|
2022-01-11 13:02:18 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
controller-topology-project = callPackage ../applications/video/kodi/addons/controller-topology-project { };
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2024-06-13 20:58:22 +01:00
|
|
|
formula1 = callPackage ../applications/video/kodi/addons/formula1 { };
|
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
iagl = callPackage ../applications/video/kodi/addons/iagl { };
|
2021-11-06 22:05:33 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
invidious = callPackage ../applications/video/kodi/addons/invidious { };
|
2022-07-03 15:29:10 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
libretro = callPackage ../applications/video/kodi/addons/libretro { };
|
2021-10-30 20:56:00 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
libretro-2048 = callPackage ../applications/video/kodi/addons/libretro-2048 { inherit twenty-fortyeight; };
|
2023-05-29 11:59:00 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
libretro-fuse = callPackage ../applications/video/kodi/addons/libretro-fuse { inherit fuse; };
|
2023-05-29 11:53:30 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
libretro-genplus = callPackage ../applications/video/kodi/addons/libretro-genplus { inherit genesis-plus-gx; };
|
2021-11-04 21:24:46 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
libretro-mgba = callPackage ../applications/video/kodi/addons/libretro-mgba { inherit mgba; };
|
2021-11-14 19:42:16 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
libretro-nestopia = callPackage ../applications/video/kodi/addons/libretro-nestopia { inherit nestopia; };
|
2023-07-25 11:46:54 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
libretro-snes9x = callPackage ../applications/video/kodi/addons/libretro-snes9x { inherit snes9x; };
|
2021-10-30 20:59:56 +01:00
|
|
|
|
2024-03-20 19:04:26 +00:00
|
|
|
jellycon = callPackage ../applications/video/kodi/addons/jellycon { };
|
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
jellyfin = callPackage ../applications/video/kodi/addons/jellyfin { };
|
2021-03-20 14:44:08 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
joystick = callPackage ../applications/video/kodi/addons/joystick { };
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
keymap = callPackage ../applications/video/kodi/addons/keymap { };
|
2021-11-03 01:02:11 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
mediacccde = callPackage ../applications/video/kodi/addons/mediacccde { };
|
2023-12-28 13:59:48 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
mediathekview = callPackage ../applications/video/kodi/addons/mediathekview { };
|
2024-02-17 15:53:05 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
netflix = callPackage ../applications/video/kodi/addons/netflix { };
|
2021-03-16 00:33:38 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
orftvthek = callPackage ../applications/video/kodi/addons/orftvthek { };
|
2022-01-02 19:23:53 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
radioparadise = callPackage ../applications/video/kodi/addons/radioparadise { };
|
2023-10-29 12:58:37 +00:00
|
|
|
|
2024-06-13 20:57:10 +01:00
|
|
|
raiplay = callPackage ../applications/video/kodi/addons/raiplay { };
|
|
|
|
|
2024-06-21 20:37:44 +01:00
|
|
|
skyvideoitalia = callPackage ../applications/video/kodi/addons/skyvideoitalia { };
|
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
svtplay = callPackage ../applications/video/kodi/addons/svtplay { };
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
steam-controller = callPackage ../applications/video/kodi/addons/steam-controller { };
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
steam-launcher = callPackage ../applications/video/kodi/addons/steam-launcher { };
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
steam-library = callPackage ../applications/video/kodi/addons/steam-library { };
|
2021-08-06 00:46:30 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
somafm = callPackage ../applications/video/kodi/addons/somafm { };
|
2023-10-29 14:50:40 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
pdfreader = callPackage ../applications/video/kodi/addons/pdfreader { };
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
pvr-hts = callPackage ../applications/video/kodi/addons/pvr-hts { };
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
pvr-hdhomerun = callPackage ../applications/video/kodi/addons/pvr-hdhomerun { };
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
pvr-iptvsimple = callPackage ../applications/video/kodi/addons/pvr-iptvsimple { };
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
pvr-vdr-vnsi = callPackage ../applications/video/kodi/addons/pvr-vdr-vnsi { };
|
2023-08-21 20:26:41 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
osmc-skin = callPackage ../applications/video/kodi/addons/osmc-skin { };
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2024-06-12 07:19:31 +01:00
|
|
|
upnext = callPackage ../applications/video/kodi/addons/upnext { };
|
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
vfs-libarchive = callPackage ../applications/video/kodi/addons/vfs-libarchive { };
|
2021-03-15 22:50:58 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
vfs-rar = callPackage ../applications/video/kodi/addons/vfs-rar { };
|
2023-06-23 19:54:28 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
vfs-sftp = callPackage ../applications/video/kodi/addons/vfs-sftp { };
|
2023-06-23 19:54:28 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
visualization-fishbmc = callPackage ../applications/video/kodi/addons/visualization-fishbmc { };
|
2023-05-16 22:42:03 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
visualization-goom = callPackage ../applications/video/kodi/addons/visualization-goom { };
|
2023-05-16 22:41:30 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
visualization-matrix = callPackage ../applications/video/kodi/addons/visualization-matrix { };
|
2023-05-16 22:40:53 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
visualization-pictureit = callPackage ../applications/video/kodi/addons/visualization-pictureit { };
|
2023-05-16 22:40:13 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
visualization-projectm = callPackage ../applications/video/kodi/addons/visualization-projectm { };
|
2023-05-16 22:39:35 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
visualization-shadertoy = callPackage ../applications/video/kodi/addons/visualization-shadertoy { };
|
2023-05-16 22:39:00 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
visualization-spectrum = callPackage ../applications/video/kodi/addons/visualization-spectrum { };
|
2023-05-16 22:38:22 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
visualization-starburst = callPackage ../applications/video/kodi/addons/visualization-starburst { };
|
2023-05-16 22:37:42 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
visualization-waveform = callPackage ../applications/video/kodi/addons/visualization-waveform { };
|
2022-09-12 22:50:26 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
youtube = callPackage ../applications/video/kodi/addons/youtube { };
|
2021-04-16 19:03:18 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
# addon packages (dependencies)
|
2021-03-16 00:33:38 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
archive_tool = callPackage ../applications/video/kodi/addons/archive_tool { };
|
2021-11-06 22:04:03 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
certifi = callPackage ../applications/video/kodi/addons/certifi { };
|
2021-03-16 00:33:38 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
chardet = callPackage ../applications/video/kodi/addons/chardet { };
|
2021-03-16 00:33:38 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
dateutil = callPackage ../applications/video/kodi/addons/dateutil { };
|
2021-03-20 14:44:08 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
defusedxml = callPackage ../applications/video/kodi/addons/defusedxml { };
|
2021-11-03 00:55:20 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
future = callPackage ../applications/video/kodi/addons/future { };
|
2022-01-02 19:10:59 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
idna = callPackage ../applications/video/kodi/addons/idna { };
|
2021-03-16 00:33:38 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
infotagger = callPackage ../applications/video/kodi/addons/infotagger { };
|
2023-05-02 20:09:59 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
inputstream-adaptive = callPackage ../applications/video/kodi/addons/inputstream-adaptive { };
|
2021-03-16 00:33:38 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
inputstream-ffmpegdirect = callPackage ../applications/video/kodi/addons/inputstream-ffmpegdirect { };
|
2021-03-24 01:04:06 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
inputstream-rtmp = callPackage ../applications/video/kodi/addons/inputstream-rtmp { };
|
2021-03-24 01:11:35 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
inputstreamhelper = callPackage ../applications/video/kodi/addons/inputstreamhelper { };
|
2021-03-16 00:33:38 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
kodi-six = callPackage ../applications/video/kodi/addons/kodi-six { };
|
2021-03-20 14:44:08 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
myconnpy = callPackage ../applications/video/kodi/addons/myconnpy { };
|
2021-03-16 00:33:38 +00:00
|
|
|
|
2024-06-13 20:55:34 +01:00
|
|
|
plugin-cache = callPackage ../applications/video/kodi/addons/plugin-cache { };
|
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
requests = callPackage ../applications/video/kodi/addons/requests { };
|
2021-03-16 00:33:38 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
requests-cache = callPackage ../applications/video/kodi/addons/requests-cache { };
|
2021-08-06 00:46:20 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
routing = callPackage ../applications/video/kodi/addons/routing { };
|
2021-08-06 00:46:02 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
sendtokodi = callPackage ../applications/video/kodi/addons/sendtokodi { };
|
2023-10-19 20:11:29 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
signals = callPackage ../applications/video/kodi/addons/signals { };
|
2021-03-16 00:33:38 +00:00
|
|
|
|
2024-06-13 20:53:02 +01:00
|
|
|
simplecache = callPackage ../applications/video/kodi/addons/simplecache { };
|
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
simplejson = callPackage ../applications/video/kodi/addons/simplejson { };
|
2022-01-02 19:14:12 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
six = callPackage ../applications/video/kodi/addons/six { };
|
2021-03-20 14:44:08 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
sponsorblock = callPackage ../applications/video/kodi/addons/sponsorblock { };
|
2024-02-07 10:13:36 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
urllib3 = callPackage ../applications/video/kodi/addons/urllib3 { };
|
2021-03-16 00:33:38 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
websocket = callPackage ../applications/video/kodi/addons/websocket { };
|
2021-06-22 01:38:16 +01:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
xbmcswift2 = callPackage ../applications/video/kodi/addons/xbmcswift2 { };
|
2022-01-11 13:01:50 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
typing_extensions = callPackage ../applications/video/kodi/addons/typing_extensions { };
|
2022-01-16 13:51:34 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
arrow = callPackage ../applications/video/kodi/addons/arrow { };
|
2022-01-16 13:55:33 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
trakt-module = callPackage ../applications/video/kodi/addons/trakt-module { };
|
2022-01-16 13:59:09 +00:00
|
|
|
|
2024-03-08 22:34:26 +00:00
|
|
|
trakt = callPackage ../applications/video/kodi/addons/trakt { };
|
2024-03-06 01:43:29 +00:00
|
|
|
}; in self // optionalAttrs config.allowAliases {
|
2022-01-16 18:14:25 +00:00
|
|
|
# deprecated or renamed packages
|
|
|
|
|
|
|
|
controllers = throw "kodi.packages.controllers has been replaced with kodi.packages.controller-topology-project - a package which contains a large number of controller profiles." { };
|
|
|
|
}
|