zaphyra's git: things

simple inventory management web-app

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 = "ctucx.things inventory-app";

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

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

    in
    {

      nixosModules.default = import ./nixosModule.nix;

      packages = forAllSystems (pkgs: {
        default = pkgs.things;
        ctucx = pkgs.things;
      });

      devShells = forAllSystems (pkgs: {
        default = pkgs.mkShell {
          nativeBuildInputs = [
            pkgs.yarn
            pkgs.yarn2nix
            pkgs.php
          ];
          shellHook = ''
            export NODE_OPTIONS=--openssl-legacy-provider
            alias serve="yarn build && php -S localhost:8080 -t public/"
          '';
        };
      });

      overlays.default = final: prev: {
        things = prev.callPackage ./package.nix { };
      };

    };

}