lol
1# Source: https://git.helsinki.tools/helsinki-systems/wp4nix/-/blob/master/default.nix
2# Licensed under: MIT
3# Slightly modified
4
5{ lib, pkgs, newScope, apps }:
6
7let packages = self:
8 let
9 generatedJson = {
10 inherit apps;
11 };
12 appBaseDefs = builtins.fromJSON (builtins.readFile ./nextcloud-apps.json);
13
14 in {
15 # Create a derivation from the official Nextcloud apps.
16 # This takes the data generated from the go tool.
17 mkNextcloudDerivation = self.callPackage ({ }: { pname, data }:
18 pkgs.fetchNextcloudApp {
19 appName = pname;
20 appVersion = data.version;
21 license = appBaseDefs.${pname};
22 inherit (data) url sha256 description homepage;
23 }) {};
24
25 } // lib.mapAttrs (type: pkgs:
26 lib.makeExtensible (_: lib.mapAttrs (pname: data: self.mkNextcloudDerivation { inherit pname; inherit data; }) pkgs))
27 generatedJson;
28
29in (lib.makeExtensible (_: (lib.makeScope newScope packages))).extend (selfNC: superNC: {})