ctucx.git: oeffi-web

[nimlang] oeffisearch fork that works without javascript

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 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
{
  description = "A fork of oeffisearch that works without javascript";

  inputs = {
    flake-utils.url = "github:numtide/flake-utils";
    nixpkgs.url     = "github:NixOS/nixpkgs/nixos-22.11";
  };

  outputs = { self, nixpkgs, flake-utils }: {

    overlay = final: prev: {

      oeffi-web = (
        let
          nimhafas = final.fetchgit {
            url    = "https://cgit.ctu.cx/nimhafas";
            rev    = "4a4a0d3d4ae86aa9245a9c79bba1f80811407ba5";
            sha256 = "sha256-q1nKDavzUghsL2Amyg/fJYYmg9zPrWH3b8R+D0YK+FA";
          };

        in final.nimPackages.buildNimPackage {
          name        = "oeffi-web";
          src         = self;

          buildInputs = [ nimhafas ];

          nimBinOnly  = true;
          nimRelease  = true;

          postInstall = ''
            mkdir -p $out/share/oeffi-web;
            cp -r $src/src/assets $src/src/templates $out/share/oeffi-web/;
          '';
        }
      );

    };

  } // (flake-utils.lib.eachDefaultSystem (system:
    let
      pkgs = import nixpkgs {
        inherit system;
        overlays = [ self.overlay ];
      };

    in rec {

      packages.default   = pkgs.oeffi-web;
      packages.oeffi-web = pkgs.oeffi-web;

      apps.default = {
        type = "app";
        program = "${pkgs.oeffi-web}/bin/oeffi";
      };

    }
  ));
}