aboutsummaryrefslogtreecommitdiff
path: root/workadventure-nix.nix
blob: 6e13dd14032b2e1b6056c37edf1e4fdb22c7880e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# WorkAdventure packaging effort by SuperSandro2000, not yet upstreamed into nixpkgs.

{ pkgs, lib, ... }:


let
  src = pkgs.fetchgit {
    url = "https://gitlab.infra4future.de/stuebinm/workadventure-nix";
    rev = "bfae9d9bfa90a0189d943ca865fa046f510b9922";
    sha256 = "160gc1yy6l5ynrx6679b6vwm1ivickymw75w3jfxk8idshsbjqw8";
  };

  # Use a fixed-point operator to build a nixpkgs-like structure that contains all
  # workadventure derivation.
  wapkgs = lib.fix (self: let
    callPackage = lib.callPackageWith (pkgs // self);
  in {
    workadventure-pusher = callPackage "${src}/pusher" {};
    workadventure-back = callPackage "${src}/back" {};
    workadventure-front = callPackage "${src}/front" {};
    workadventure-messages = callPackage "${src}/messages" {};
    workadventure-maps = callPackage "${src}/maps" {};
  });

# Build public attrset of all accessible components.
in rec {
  pusher = wapkgs.workadventure-pusher;
  back = wapkgs.workadventure-back;
  front = wapkgs.workadventure-front;
  maps = wapkgs.workadventure-maps;
}