zaphyra's git: mqtt-webui

webui for mqtt, can be used to control/display data in mqtt-topics

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 
{

  description = "mqtt-webui";

  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";

  outputs =
    inputs:
    let
      forAllSystems =
        function:
        inputs.nixpkgs.lib.genAttrs
          [
            "x86_64-linux"
            "aarch64-linux"
          ]
          (
            system:
            function (
              import inputs.nixpkgs {
                system = system;
                overlays = [ inputs.self.overlays.default ];
              }
            )
          );

    in
    {

      packages = forAllSystems (pkgs: {
        default = pkgs.mqtt-webui;
        mqtt-webui = pkgs.mqtt-webui;
      });

      devShells = forAllSystems (pkgs: {
        default = pkgs.mkShell {
          nativeBuildInputs = [
            pkgs.yarn
            pkgs.yarn2nix
            pkgs.caddy
          ];
          shellHook = ''
            export NODE_OPTIONS=--openssl-legacy-provider
            alias serve="yarn build && caddy run"
            alias generate-config="nix-instantiate --eval -E 'builtins.toJSON(import ./config.nix)' | jq '. | fromjson' > config.json"
          '';
        };
      });

      overlays.default = final: prev: {
        mqtt-webui = prev.callPackage ./nix/package.nix { };
      };

    };

}