diff options
Diffstat (limited to 'updates/web/chromium/extensions.nix')
| -rw-r--r-- | updates/web/chromium/extensions.nix | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/updates/web/chromium/extensions.nix b/updates/web/chromium/extensions.nix index ab6e818..fbfe277 100644 --- a/updates/web/chromium/extensions.nix +++ b/updates/web/chromium/extensions.nix @@ -1,18 +1,31 @@ { pkgs, - lib, ... }: let extensions = import ../../../modules/web/chromium/extensions/metadata.nix; - luaExtensionList = lib.concatMapStringsSep "\n" (ext: '' - { pname = "${ext.pname}", owner = "${ext.owner}", repo = "${ext.repo}", version = "${ext.version}", updateType = "${ext.updateType or "release"}", tagPrefix = "${ext.tagPrefix}" }, - '') extensions; + extensionsJsonString = builtins.replaceStrings [ "\\" "\"" ] [ "\\\\" "\\\"" ] ( + builtins.toJSON ( + map (ext: { + pname = ext.pname; + owner = ext.owner; + repo = ext.repo; + version = ext.version; + updateType = ext.updateType or "release"; + tagPrefix = ext.tagPrefix; + }) extensions + ) + ); + + luaEnv = pkgs.luajit.withPackages (ps: [ + ps.lua-cjson + ps.http + ]); luaScript = pkgs.writeText "check-chromium-extension-updates.lua" ( - builtins.replaceStrings [ "--@@EXTENSIONS@@--" ] [ luaExtensionList ] ( + builtins.replaceStrings [ "@@EXTENSIONS@@" ] [ extensionsJsonString ] ( builtins.readFile ./check-chromium-extension-updates.lua ) ); @@ -22,21 +35,11 @@ in pname = "check-chromium-extension-updates"; version = "0.1.0"; dontUnpack = true; - nativeBuildInputs = [ - pkgs.luajit - pkgs.makeWrapper - ]; + nativeBuildInputs = [ luaEnv ]; installPhase = '' mkdir -p $out/bin install -m755 ${luaScript} $out/bin/check-chromium-extension-updates patchShebangs $out/bin/check-chromium-extension-updates - wrapProgram $out/bin/check-chromium-extension-updates \ - --prefix PATH : "${ - lib.makeBinPath [ - pkgs.curl - pkgs.jq - ] - }" ''; meta = { mainProgram = "check-chromium-extension-updates"; |
