+33
-65
flake.nix
+33
-65
flake.nix
···
50
50
in {
51
51
overlays.default = final: prev: let
52
52
goModHash = "sha256-HkmfHtnuixvDsLPthcguXToOFQo4eliZKQA2ibytdsE=";
53
-
in {
54
-
indigo-lexgen = final.buildGoModule {
55
-
pname = "indigo-lexgen";
56
-
version = "0.1.0";
57
-
src = indigo;
58
-
subPackages = ["cmd/lexgen"];
59
-
vendorHash = "sha256-pGc29fgJFq8LP7n/pY1cv6ExZl88PAeFqIbFEhB3xXs=";
60
-
doCheck = false;
61
-
};
62
-
63
-
appview = with final;
64
-
final.pkgsStatic.buildGoModule {
53
+
appviewBuildAttrs = final:
54
+
with final; {
65
55
pname = "appview";
66
56
version = "0.1.0";
67
57
src = gitignoreSource ./.;
···
82
72
env.CGO_ENABLED = 1;
83
73
stdenv = pkgsStatic.stdenv;
84
74
};
85
-
86
-
appview-cross = with final;
87
-
final.pkgsCross.gnu64.pkgsStatic.buildGoModule {
88
-
pname = "appview";
89
-
version = "0.1.0";
90
-
src = gitignoreSource ./.;
91
-
postUnpack = ''
92
-
pushd source
93
-
mkdir -p appview/pages/static/{fonts,icons}
94
-
cp -f ${htmx-src} appview/pages/static/htmx.min.js
95
-
cp -rf ${lucide-src}/*.svg appview/pages/static/icons/
96
-
cp -f ${inter-fonts-src}/web/InterVariable*.woff2 appview/pages/static/fonts/
97
-
cp -f ${inter-fonts-src}/web/InterDisplay*.woff2 appview/pages/static/fonts/
98
-
cp -f ${ibm-plex-mono-src}/fonts/complete/woff2/IBMPlexMono-Regular.woff2 appview/pages/static/fonts/
99
-
${pkgs.tailwindcss}/bin/tailwindcss -i input.css -o appview/pages/static/tw.css
100
-
popd
101
-
'';
102
-
doCheck = false;
103
-
subPackages = ["cmd/appview"];
104
-
vendorHash = goModHash;
105
-
env.CGO_ENABLED = 1;
106
-
stdenv = pkgsStatic.stdenv;
107
-
};
108
-
109
-
# cross-compile on darwin to x86_64-linux
110
-
knot-cross = with final;
111
-
final.pkgsCross.gnu64.pkgsStatic.buildGoModule {
75
+
knotBuildAttrs = final:
76
+
with final; {
112
77
pname = "knot";
113
78
version = "0.1.0";
114
79
src = gitignoreSource ./.;
115
80
subPackages = ["cmd/knot"];
116
81
vendorHash = goModHash;
117
-
118
82
env.CGO_ENABLED = 1;
119
83
};
84
+
in {
85
+
indigo-lexgen = final.buildGoModule {
86
+
pname = "indigo-lexgen";
87
+
version = "0.1.0";
88
+
src = indigo;
89
+
subPackages = ["cmd/lexgen"];
90
+
vendorHash = "sha256-pGc29fgJFq8LP7n/pY1cv6ExZl88PAeFqIbFEhB3xXs=";
91
+
doCheck = false;
92
+
};
120
93
94
+
# appview packages
95
+
appview = final.pkgsStatic.buildGoModule (appviewBuildAttrs final);
96
+
appview-cross = final.pkgsCross.gnu64.pkgsStatic.buildGoModule (appviewBuildAttrs final);
97
+
98
+
# knot packages
121
99
knot = with final;
122
-
final.pkgsStatic.buildGoModule {
123
-
pname = "knot";
124
-
version = "0.1.0";
125
-
src = gitignoreSource ./.;
126
-
nativeBuildInputs = [final.makeWrapper];
127
-
subPackages = ["cmd/knot"];
128
-
vendorHash = goModHash;
129
-
installPhase = ''
130
-
runHook preInstall
100
+
final.pkgsStatic.buildGoModule ((knotBuildAttrs final)
101
+
// {
102
+
nativeBuildInputs = [final.makeWrapper];
103
+
installPhase = ''
104
+
runHook preInstall
105
+
106
+
mkdir -p $out/bin
107
+
cp $GOPATH/bin/knot $out/bin/knot
131
108
132
-
mkdir -p $out/bin
133
-
cp $GOPATH/bin/knot $out/bin/knot
109
+
wrapProgram $out/bin/knot \
110
+
--prefix PATH : ${pkgs.git}/bin
134
111
135
-
wrapProgram $out/bin/knot \
136
-
--prefix PATH : ${pkgs.git}/bin
112
+
runHook postInstall
113
+
'';
114
+
});
115
+
knot-cross = final.pkgsCross.gnu64.pkgsStatic.buildGoModule (knotBuildAttrs final); # cross-compile on darwin to x86_64-linux
116
+
knot-unwrapped = final.pkgsStatic.buildGoModule (knotBuildAttrs final);
137
117
138
-
runHook postInstall
139
-
'';
140
-
env.CGO_ENABLED = 1;
141
-
};
142
-
knot-unwrapped = final.pkgsStatic.buildGoModule {
143
-
pname = "knot";
144
-
version = "0.1.0";
145
-
src = gitignoreSource ./.;
146
-
subPackages = ["cmd/knot"];
147
-
vendorHash = goModHash;
148
-
env.CGO_ENABLED = 1;
149
-
};
150
118
genjwks = final.buildGoModule {
151
119
pname = "genjwks";
152
120
version = "0.1.0";