# Source: https://git.helsinki.tools/helsinki-systems/wp4nix/-/blob/master/default.nix # Licensed under: MIT # Slightly modified { lib, pkgs, newScope, apps }: let packages = self: let generatedJson = { inherit apps; }; appBaseDefs = builtins.fromJSON (builtins.readFile ./nextcloud-apps.json); in { # Create a derivation from the official Nextcloud apps. # This takes the data generated from the go tool. mkNextcloudDerivation = self.callPackage ({ }: { pname, data }: pkgs.fetchNextcloudApp { appName = pname; appVersion = data.version; license = appBaseDefs.${pname}; inherit (data) url sha256 description homepage; }) {}; } // lib.mapAttrs (type: pkgs: lib.makeExtensible (_: lib.mapAttrs (pname: data: self.mkNextcloudDerivation { inherit pname; inherit data; }) pkgs)) generatedJson; in (lib.makeExtensible (_: (lib.makeScope newScope packages))).extend (selfNC: superNC: {})