···
supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
56
-
nixpkgsFor = forAllSystems (system:
59
-
overlays = [self.overlays.default];
56
+
nixpkgsFor = forAllSystems (system: nixpkgs.legacyPackages.${system});
inherit (gitignore.lib) gitignoreSource;
63
-
overlays.default = final: prev: let
58
+
mkPackageSet = pkgs: let
goModHash = "sha256-SLi+nALwCd/Lzn3aljwPqCo2UaM9hl/4OAjcHQLt2Bk=";
66
-
inherit htmx-src htmx-ws-src lucide-src inter-fonts-src ibm-plex-mono-src goModHash gitignoreSource;
69
-
inherit goModHash gitignoreSource;
72
-
inherit goModHash gitignoreSource;
60
+
sqlite-lib = pkgs.callPackage ./nix/pkgs/sqlite-lib.nix {
62
+
inherit sqlite-lib-src;
74
-
mkPackageSet = pkgs: {
75
-
lexgen = pkgs.callPackage ./nix/pkgs/lexgen.nix {inherit indigo;};
76
-
appview = pkgs.callPackage ./nix/pkgs/appview.nix appviewDeps;
77
-
knot = pkgs.callPackage ./nix/pkgs/knot.nix {};
78
-
spindle = pkgs.callPackage ./nix/pkgs/spindle.nix spindleDeps;
79
-
knot-unwrapped = pkgs.callPackage ./nix/pkgs/knot-unwrapped.nix knotDeps;
80
-
sqlite-lib = pkgs.callPackage ./nix/pkgs/sqlite-lib.nix {
82
-
inherit sqlite-lib-src;
84
-
genjwks = pkgs.callPackage ./nix/pkgs/genjwks.nix {inherit goModHash gitignoreSource;};
64
+
genjwks = pkgs.callPackage ./nix/pkgs/genjwks.nix {inherit goModHash gitignoreSource;};
65
+
lexgen = pkgs.callPackage ./nix/pkgs/lexgen.nix {inherit indigo;};
66
+
appview = pkgs.callPackage ./nix/pkgs/appview.nix {
67
+
inherit sqlite-lib htmx-src htmx-ws-src lucide-src inter-fonts-src ibm-plex-mono-src goModHash gitignoreSource;
69
+
spindle = pkgs.callPackage ./nix/pkgs/spindle.nix {inherit sqlite-lib goModHash gitignoreSource;};
70
+
knot-unwrapped = pkgs.callPackage ./nix/pkgs/knot-unwrapped.nix {inherit sqlite-lib goModHash gitignoreSource;};
71
+
knot = pkgs.callPackage ./nix/pkgs/knot.nix {inherit knot-unwrapped;};
73
+
inherit lexgen appview spindle knot-unwrapped knot sqlite-lib genjwks;
76
+
overlays.default = final: prev: mkPackageSet final;
packages = forAllSystems (system: let
pkgs = nixpkgsFor.${system};
91
-
staticPkgs = pkgs.pkgsStatic;
92
-
crossPkgs = pkgs.pkgsCross.gnu64.pkgsStatic;
80
+
packages = mkPackageSet pkgs;
81
+
staticPackages = mkPackageSet pkgs.pkgsStatic;
82
+
crossPackages = mkPackageSet pkgs.pkgsCross.gnu64.pkgsStatic;
94
-
appview = pkgs.appview;
95
-
lexgen = pkgs.lexgen;
97
-
knot-unwrapped = pkgs.knot-unwrapped;
98
-
spindle = pkgs.spindle;
99
-
genjwks = pkgs.genjwks;
100
-
sqlite-lib = pkgs.sqlite-lib;
84
+
appview = packages.appview;
85
+
lexgen = packages.lexgen;
86
+
knot = packages.knot;
87
+
knot-unwrapped = packages.knot-unwrapped;
88
+
spindle = packages.spindle;
89
+
genjwks = packages.genjwks;
90
+
sqlite-lib = packages.sqlite-lib;
102
-
pkgsStatic-appview = staticPkgs.appview;
103
-
pkgsStatic-knot = staticPkgs.knot;
104
-
pkgsStatic-knot-unwrapped = staticPkgs.knot-unwrapped;
105
-
pkgsStatic-spindle = staticPkgs.spindle;
106
-
pkgsStatic-sqlite-lib = staticPkgs.sqlite-lib;
92
+
pkgsStatic-appview = staticPackages.appview;
93
+
pkgsStatic-knot = staticPackages.knot;
94
+
pkgsStatic-knot-unwrapped = staticPackages.knot-unwrapped;
95
+
pkgsStatic-spindle = staticPackages.spindle;
96
+
pkgsStatic-sqlite-lib = staticPackages.sqlite-lib;
108
-
pkgsCross-gnu64-pkgsStatic-appview = crossPkgs.appview;
109
-
pkgsCross-gnu64-pkgsStatic-knot = crossPkgs.knot;
110
-
pkgsCross-gnu64-pkgsStatic-knot-unwrapped = crossPkgs.knot-unwrapped;
111
-
pkgsCross-gnu64-pkgsStatic-spindle = crossPkgs.spindle;
98
+
pkgsCross-gnu64-pkgsStatic-appview = crossPackages.appview;
99
+
pkgsCross-gnu64-pkgsStatic-knot = crossPackages.knot;
100
+
pkgsCross-gnu64-pkgsStatic-knot-unwrapped = crossPackages.knot-unwrapped;
101
+
pkgsCross-gnu64-pkgsStatic-spindle = crossPackages.spindle;
113
-
defaultPackage = forAllSystems (system: nixpkgsFor.${system}.appview);
114
-
formatter = forAllSystems (system: nixpkgsFor."${system}".alejandra);
103
+
defaultPackage = forAllSystems (system: self.packages.${system}.appview);
104
+
formatter = forAllSystems (system: nixpkgsFor.${system}.alejandra);
devShells = forAllSystems (system: let
pkgs = nixpkgsFor.${system};
107
+
packages' = self.packages.${system};
staticShell = pkgs.mkShell.override {
stdenv = pkgs.pkgsStatic.stdenv;
···
mkdir -p appview/pages/static/{fonts,icons}
···
cp -f ${inter-fonts-src}/web/InterVariable*.woff2 appview/pages/static/fonts/
cp -f ${inter-fonts-src}/web/InterDisplay*.woff2 appview/pages/static/fonts/
cp -f ${ibm-plex-mono-src}/fonts/complete/woff2/IBMPlexMono-Regular.woff2 appview/pages/static/fonts/
142
-
export TANGLED_OAUTH_JWKS="$(${pkgs.genjwks}/bin/genjwks)"
133
+
export TANGLED_OAUTH_JWKS="$(${packages'.genjwks}/bin/genjwks)"