mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-09-18 13:50:04 +00:00
Compare commits
558 Commits
nixpkgs-un
...
staging-ni
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aea6af4c2e | ||
|
|
f355a7be2a | ||
|
|
a15ff3450e | ||
|
|
d6ff69a1f3 | ||
|
|
8b2d6bfdf3 | ||
|
|
70b12ed5b5 | ||
|
|
a6775924fa | ||
|
|
fdd6b8c8c8 | ||
|
|
99b76fd9b3 | ||
|
|
2abacd24a3 | ||
|
|
43e2acb017 | ||
|
|
306e6ccb48 | ||
|
|
3171f0d4de | ||
|
|
40991134a3 | ||
|
|
f5733a291a | ||
|
|
4e4b0e17be | ||
|
|
6bf27ec825 | ||
|
|
ca3ea8175a | ||
|
|
40d20c654c | ||
|
|
ee115bf034 | ||
|
|
3b94ff509e | ||
|
|
0a3468a402 | ||
|
|
d4448fee6b | ||
|
|
c0fa03bf58 | ||
|
|
570c8a4506 | ||
|
|
77ec6772c0 | ||
|
|
f0cfb94957 | ||
|
|
2a9277a4a7 | ||
|
|
2b91130b47 | ||
|
|
a3cb156544 | ||
|
|
4888f506a7 | ||
|
|
c4c096b70b | ||
|
|
2fc230544c | ||
|
|
ee614ba525 | ||
|
|
05263b4ffc | ||
|
|
4726bd6b25 | ||
|
|
9fc02ad42e | ||
|
|
1a47e67972 | ||
|
|
6b61ece942 | ||
|
|
89e17fa435 | ||
|
|
c526e850e6 | ||
|
|
c286dc57da | ||
|
|
2c53db34e0 | ||
|
|
0e716e7a50 | ||
|
|
8d1f8ee70b | ||
|
|
da7d8c47f1 | ||
|
|
1509acceca | ||
|
|
67dfdc62d0 | ||
|
|
01ff077fcf | ||
|
|
8364e49d92 | ||
|
|
fb4bc4b2e6 | ||
|
|
d3b138952e | ||
|
|
c09f923093 | ||
|
|
3de13d3bf7 | ||
|
|
6bd1265dde | ||
|
|
087bd959b7 | ||
|
|
f487d2561b | ||
|
|
e05136d208 | ||
|
|
1e823b74fd | ||
|
|
50202cafc7 | ||
|
|
175e94460b | ||
|
|
db68d9deee | ||
|
|
5741776f75 | ||
|
|
e3a5f3daf0 | ||
|
|
3ac4e0c61d | ||
|
|
ae3c85859f | ||
|
|
4e25fb8918 | ||
|
|
db5da36a7b | ||
|
|
adb3abeedc | ||
|
|
9d5283ab60 | ||
|
|
00352bf694 | ||
|
|
5a9629bfdc | ||
|
|
a85c5e8d4d | ||
|
|
d6132be500 | ||
|
|
a7156b1090 | ||
|
|
1a31fdfbea | ||
|
|
daf963f3c9 | ||
|
|
615d627a6a | ||
|
|
86975a6a0e | ||
|
|
2f7593b100 | ||
|
|
26fbdcc686 | ||
|
|
3177276c38 | ||
|
|
1cdec2d612 | ||
|
|
ec56797e23 | ||
|
|
fbb79eaebd | ||
|
|
c07b19f7a4 | ||
|
|
e6d44bcd4a | ||
|
|
fe2d88fafe | ||
|
|
79ee92fa4c | ||
|
|
bdfe77b880 | ||
|
|
b4aa7029f4 | ||
|
|
5c49425e87 | ||
|
|
9df0b1453c | ||
|
|
48c2aa9a95 | ||
|
|
7c4ab93888 | ||
|
|
1752024d99 | ||
|
|
bd1fe50dca | ||
|
|
6f52385be6 | ||
|
|
02af21acb1 | ||
|
|
f5fd247e91 | ||
|
|
6f14f7ce90 | ||
|
|
cf6a17ac75 | ||
|
|
8080c9e868 | ||
|
|
b5bcf7ed25 | ||
|
|
d8e6446fd1 | ||
|
|
c274f7a5d3 | ||
|
|
4a75740f05 | ||
|
|
97caf07e99 | ||
|
|
ebdc8f634c | ||
|
|
8f0921fdd6 | ||
|
|
cada2b193e | ||
|
|
7bd641d529 | ||
|
|
ba1282a7dd | ||
|
|
e7b1242879 | ||
|
|
470de3db6e | ||
|
|
ec71e34d8a | ||
|
|
1d3811f765 | ||
|
|
266f1f55c2 | ||
|
|
8b309ca62b | ||
|
|
b4e037ce9f | ||
|
|
618c1f6c57 | ||
|
|
14b592fab8 | ||
|
|
b72fd9c748 | ||
|
|
8066ed205e | ||
|
|
62114dcb86 | ||
|
|
6861d8cac8 | ||
|
|
71d3e8d8dc | ||
|
|
2a819a031c | ||
|
|
d73f6fbef0 | ||
|
|
4d021058fd | ||
|
|
6cb9321d12 | ||
|
|
57704914d8 | ||
|
|
d998b94b4c | ||
|
|
d2a762a6b4 | ||
|
|
5f3133d502 | ||
|
|
4ff0875a85 | ||
|
|
d473276364 | ||
|
|
cd25268862 | ||
|
|
47caa63051 | ||
|
|
6728ee73c1 | ||
|
|
3abea48f1a | ||
|
|
fa11c1ce20 | ||
|
|
d8926ae559 | ||
|
|
8c79448794 | ||
|
|
304568616a | ||
|
|
8d15604db3 | ||
|
|
52482aa359 | ||
|
|
f42b001918 | ||
|
|
5fdcdb17b5 | ||
|
|
8eb340d127 | ||
|
|
b4b5d45e51 | ||
|
|
4a214949fd | ||
|
|
79400bf915 | ||
|
|
25d07e328f | ||
|
|
af9af88f72 | ||
|
|
f17658d9bf | ||
|
|
c165fc46fe | ||
|
|
866226da8d | ||
|
|
e554fab72f | ||
|
|
c81ada3b63 | ||
|
|
8a316b7c59 | ||
|
|
f6db3798b7 | ||
|
|
c8b6bffe5b | ||
|
|
160d79029b | ||
|
|
1617af53c0 | ||
|
|
728ecd4b4b | ||
|
|
039781ea89 | ||
|
|
60b13beec9 | ||
|
|
a235f7b9af | ||
|
|
0838fc1dcc | ||
|
|
df287b5332 | ||
|
|
20bcb39238 | ||
|
|
2b865d68c0 | ||
|
|
7a41d748f2 | ||
|
|
fcb266b323 | ||
|
|
17be3e0800 | ||
|
|
1c0985edcc | ||
|
|
6855a1f3a2 | ||
|
|
841b1be37a | ||
|
|
a817669722 | ||
|
|
9c5053e49f | ||
|
|
1a1e1cd581 | ||
|
|
f398aa5107 | ||
|
|
2d3ab20355 | ||
|
|
418289b270 | ||
|
|
918ec94a5c | ||
|
|
96991a4cfd | ||
|
|
eca9fcc646 | ||
|
|
343cd9a6d6 | ||
|
|
a839a20988 | ||
|
|
c869640f66 | ||
|
|
aad75a63a4 | ||
|
|
f21ed3d5d5 | ||
|
|
6dd85a36dc | ||
|
|
23d17af49c | ||
|
|
2f87cbd1a9 | ||
|
|
855da5ff33 | ||
|
|
d8771fc513 | ||
|
|
5253f1e3e9 | ||
|
|
834747ee08 | ||
|
|
db7a76277b | ||
|
|
cf887c5a70 | ||
|
|
f61fd86bda | ||
|
|
aa123cd483 | ||
|
|
21a1207383 | ||
|
|
0d6fd504d0 | ||
|
|
bec16e2861 | ||
|
|
37a3b91adc | ||
|
|
601829a5c1 | ||
|
|
38c8def783 | ||
|
|
7cc146ce8b | ||
|
|
21eb7ab9b4 | ||
|
|
50f0270e7f | ||
|
|
9d2befa994 | ||
|
|
8a37ac8fae | ||
|
|
a1e79ed8ca | ||
|
|
6d914c91e3 | ||
|
|
22dc41ec5f | ||
|
|
b79796351b | ||
|
|
9f31c23179 | ||
|
|
427f29b827 | ||
|
|
9483080bf4 | ||
|
|
7d3888776c | ||
|
|
c97bde10f6 | ||
|
|
aaeca875dc | ||
|
|
0614e4d22e | ||
|
|
aec3c98f4c | ||
|
|
8b7b915d6c | ||
|
|
96ccbd30a8 | ||
|
|
3f3dd68500 | ||
|
|
bc789c9816 | ||
|
|
c1d15fd6eb | ||
|
|
b07b625f4a | ||
|
|
78788fadd6 | ||
|
|
ae3fcc1edc | ||
|
|
5a0f6e3705 | ||
|
|
8305ebdb75 | ||
|
|
32252b3b5e | ||
|
|
649348a30d | ||
|
|
d2ee85b72d | ||
|
|
5af1d280d9 | ||
|
|
2274fcf756 | ||
|
|
26dca39edd | ||
|
|
498495d743 | ||
|
|
e2dba027dd | ||
|
|
758cd7927e | ||
|
|
087c70fd53 | ||
|
|
c1c0ff3c1e | ||
|
|
93c80a2196 | ||
|
|
14a11f78aa | ||
|
|
8726aa5249 | ||
|
|
4f3e7702de | ||
|
|
b5ca767b79 | ||
|
|
7803a8f22f | ||
|
|
71646b4899 | ||
|
|
b47716ec10 | ||
|
|
a4b84bae8d | ||
|
|
1e354a6a6c | ||
|
|
006625d9a6 | ||
|
|
9e597d73df | ||
|
|
d79f69f670 | ||
|
|
660e918b7a | ||
|
|
0011ddd37d | ||
|
|
20f4b2dca7 | ||
|
|
313553d6e9 | ||
|
|
2ad3449345 | ||
|
|
837be3b19b | ||
|
|
1fa335e8e6 | ||
|
|
d7dcc85125 | ||
|
|
029cd3fc48 | ||
|
|
dc63f71712 | ||
|
|
7c48cfe4fd | ||
|
|
e56346e4cc | ||
|
|
805b3b4e03 | ||
|
|
559e22bb59 | ||
|
|
4ecc82ea99 | ||
|
|
c9e8b5f684 | ||
|
|
2bc18d8892 | ||
|
|
fbc10678a9 | ||
|
|
93b21a67cd | ||
|
|
4485265ad5 | ||
|
|
f7d5fd0ed1 | ||
|
|
73154279fc | ||
|
|
9d913882e7 | ||
|
|
3a0bb39f72 | ||
|
|
cbd6d61ff2 | ||
|
|
08b1c5e349 | ||
|
|
cd2ad23e87 | ||
|
|
2076945292 | ||
|
|
bb487d45e5 | ||
|
|
e85fa8b46f | ||
|
|
b5e81f4aea | ||
|
|
ff9fc477a7 | ||
|
|
c9a3740c2f | ||
|
|
0007391c9b | ||
|
|
648d34a94a | ||
|
|
295b53ace8 | ||
|
|
eaac17deea | ||
|
|
e9c7fe8067 | ||
|
|
4901f45984 | ||
|
|
2efeee1c3b | ||
|
|
62e0a11dce | ||
|
|
2cd7638e79 | ||
|
|
6a66dea2a9 | ||
|
|
5d3eda037f | ||
|
|
43dd76b147 | ||
|
|
0387c6579f | ||
|
|
f4a6f271f7 | ||
|
|
ce1876602f | ||
|
|
de4f0b8724 | ||
|
|
b55025c9f4 | ||
|
|
1c985de672 | ||
|
|
5e8da5d3f4 | ||
|
|
7aaf71697a | ||
|
|
77f89faee7 | ||
|
|
eda4c43f61 | ||
|
|
18966a6f38 | ||
|
|
3ac40df985 | ||
|
|
71c1f117ab | ||
|
|
52c5382894 | ||
|
|
711113a826 | ||
|
|
3dcebbe3aa | ||
|
|
1bc4284729 | ||
|
|
4610cbd06c | ||
|
|
04fefff867 | ||
|
|
2ee4c0c607 | ||
|
|
ae69cb1912 | ||
|
|
4288114100 | ||
|
|
f98aeea68b | ||
|
|
6ae571b185 | ||
|
|
056381cad0 | ||
|
|
672aaa6f02 | ||
|
|
131cf0f911 | ||
|
|
9f7a02f6d3 | ||
|
|
bf0faabb8f | ||
|
|
6dcae3e713 | ||
|
|
e70be0ec6a | ||
|
|
9b95b7c73a | ||
|
|
18f2faeb97 | ||
|
|
3a3cc17a68 | ||
|
|
43ba29e2e8 | ||
|
|
d2f47c5f7c | ||
|
|
d39e6e4dfe | ||
|
|
9bc1aa871e | ||
|
|
14588a36ba | ||
|
|
37cad81bc4 | ||
|
|
251a4427a5 | ||
|
|
5dd0c7c749 | ||
|
|
a5677d1b54 | ||
|
|
114849c42e | ||
|
|
bd34bb831f | ||
|
|
129491e117 | ||
|
|
7b081457ee | ||
|
|
891305c469 | ||
|
|
b07148aa4e | ||
|
|
49fce2efb6 | ||
|
|
8e386aaae6 | ||
|
|
07a2ec5076 | ||
|
|
0980999b45 | ||
|
|
82339b1bf9 | ||
|
|
b79bd3f6eb | ||
|
|
3afdf092cf | ||
|
|
11487ec823 | ||
|
|
9e0f3c1107 | ||
|
|
39f8a2aac8 | ||
|
|
59df76b10f | ||
|
|
a65d55acd5 | ||
|
|
ab8c88ee74 | ||
|
|
a0122a2530 | ||
|
|
dcb3ef8906 | ||
|
|
630ddb5c68 | ||
|
|
9a462e0438 | ||
|
|
541264e6b4 | ||
|
|
9951bdc882 | ||
|
|
977be6689e | ||
|
|
381239a90d | ||
|
|
24237d408c | ||
|
|
55dad5738a | ||
|
|
122b4eb72d | ||
|
|
2e8eb5f167 | ||
|
|
1acfd66170 | ||
|
|
16b5ff73a6 | ||
|
|
d294ad3f8d | ||
|
|
156183e45f | ||
|
|
65941a6f21 | ||
|
|
e8519f24d6 | ||
|
|
ccf661c769 | ||
|
|
e4caf49937 | ||
|
|
4cc97477a2 | ||
|
|
5af2f40a57 | ||
|
|
6905415e0b | ||
|
|
eee3c9e4d7 | ||
|
|
9d20c55c06 | ||
|
|
9fe606f8e8 | ||
|
|
76657f9584 | ||
|
|
a69a264266 | ||
|
|
118b380390 | ||
|
|
1a1642a203 | ||
|
|
3f966e4f01 | ||
|
|
debbb23b3b | ||
|
|
e72ae69c88 | ||
|
|
1b666dfa55 | ||
|
|
06ae3e2c6d | ||
|
|
b5b404af7b | ||
|
|
9876d4293d | ||
|
|
5582285912 | ||
|
|
24788c2e25 | ||
|
|
d1ffeaf18f | ||
|
|
a4b68e6c75 | ||
|
|
65b0971f90 | ||
|
|
f492706a77 | ||
|
|
8c7d584fe6 | ||
|
|
8bb8c426db | ||
|
|
ac837db682 | ||
|
|
c9b7d738d1 | ||
|
|
b924b055ed | ||
|
|
c80b175022 | ||
|
|
6bdcb176b0 | ||
|
|
c8e080111f | ||
|
|
cab069695d | ||
|
|
f481850906 | ||
|
|
662aa62411 | ||
|
|
9b72e674e8 | ||
|
|
81afbd6888 | ||
|
|
15252b7987 | ||
|
|
994643a136 | ||
|
|
3e94732d54 | ||
|
|
cdde8caaec | ||
|
|
9ee4236505 | ||
|
|
8c2c1a0f48 | ||
|
|
af5d811be9 | ||
|
|
9835e3839e | ||
|
|
3974bcd925 | ||
|
|
0318b927ef | ||
|
|
6b23412317 | ||
|
|
eebb88600f | ||
|
|
cfce7b719a | ||
|
|
f6993fdeff | ||
|
|
06ee0dfd40 | ||
|
|
e0b27313b6 | ||
|
|
4fd6902ab7 | ||
|
|
ef5129f3b7 | ||
|
|
5c0edaf955 | ||
|
|
00c13877bd | ||
|
|
9b52e18e7d | ||
|
|
fca8186252 | ||
|
|
f390808c21 | ||
|
|
6a389b710e | ||
|
|
341686c3c3 | ||
|
|
d29f235b9c | ||
|
|
6d0c18ba10 | ||
|
|
5c42b2529d | ||
|
|
f9f733e5b0 | ||
|
|
c162456aab | ||
|
|
829abb3715 | ||
|
|
ec64bcf500 | ||
|
|
370bc15b81 | ||
|
|
f647a9615d | ||
|
|
e1d85480cd | ||
|
|
aaf2fbb195 | ||
|
|
c84a6127bf | ||
|
|
89b169225d | ||
|
|
bbb6d50d10 | ||
|
|
7043e0e272 | ||
|
|
fea3d90629 | ||
|
|
9f8d0e8956 | ||
|
|
f69a0a858f | ||
|
|
b107356973 | ||
|
|
478373395a | ||
|
|
09b654cca0 | ||
|
|
1cfa2c04d1 | ||
|
|
60f3637c3b | ||
|
|
059184dc91 | ||
|
|
b1ec806d09 | ||
|
|
e98c2c0320 | ||
|
|
b7c6868c73 | ||
|
|
af85f02f44 | ||
|
|
173280e6c3 | ||
|
|
81e31c1760 | ||
|
|
a694fdc604 | ||
|
|
71e8a8d498 | ||
|
|
a17a781aa7 | ||
|
|
6aac32cfa7 | ||
|
|
232ad9f616 | ||
|
|
acf39a4900 | ||
|
|
90284296db | ||
|
|
7d0ceaea77 | ||
|
|
15dc5d7433 | ||
|
|
710f6c4c01 | ||
|
|
8c86087378 | ||
|
|
debd9e764e | ||
|
|
cb436d0761 | ||
|
|
d6430c930e | ||
|
|
3265807061 | ||
|
|
537abd0c62 | ||
|
|
f6f33b5262 | ||
|
|
70655a45c1 | ||
|
|
ce680ea191 | ||
|
|
58c584a01e | ||
|
|
d5a200ad87 | ||
|
|
41ef9b936b | ||
|
|
e78a70f4bd | ||
|
|
6077db4119 | ||
|
|
0ac3c0bd54 | ||
|
|
7a8502da17 | ||
|
|
95b1def4a1 | ||
|
|
482bf14a06 | ||
|
|
1e2bdc485d | ||
|
|
aa6e1e624c | ||
|
|
d587d68c43 | ||
|
|
e2483f3898 | ||
|
|
167d2d4452 | ||
|
|
b93752bd49 | ||
|
|
c6c86bc48b | ||
|
|
c3f5869af0 | ||
|
|
bcf43584f1 | ||
|
|
2d20de34e5 | ||
|
|
db793e4161 | ||
|
|
16b914ba50 | ||
|
|
7757ec195a | ||
|
|
673028b7b1 | ||
|
|
4d7e677fc0 | ||
|
|
4c710a319c | ||
|
|
410f5906b6 | ||
|
|
363fdbe57e | ||
|
|
5e9ecfde50 | ||
|
|
e41b3b0bac | ||
|
|
96077835d3 | ||
|
|
09863d3af0 | ||
|
|
9d1255d8cf | ||
|
|
5b2f5cae13 | ||
|
|
020dd6427b | ||
|
|
e52af07c7c | ||
|
|
cfe7713c42 | ||
|
|
575a2efcfd | ||
|
|
c6adacbcce | ||
|
|
c6211eb66e | ||
|
|
e1b0c4dfc5 | ||
|
|
bcc1e62dc2 | ||
|
|
c028d391bd | ||
|
|
2b9e066026 | ||
|
|
27de7b547c | ||
|
|
8ce9c94cf0 | ||
|
|
d5cce8e789 | ||
|
|
891ef8fe57 | ||
|
|
c47cb6dd56 | ||
|
|
bd69b9f652 | ||
|
|
e89a7df1ad | ||
|
|
11a214a106 | ||
|
|
4d17cbc8a1 | ||
|
|
4435c085fa | ||
|
|
accb9be43e | ||
|
|
6889d0f828 | ||
|
|
6461881643 | ||
|
|
abcf2cbec1 | ||
|
|
4e5f155606 | ||
|
|
45f2fdec4a | ||
|
|
9a70ebfb14 |
@@ -6,9 +6,10 @@ from typing import TypedDict
|
||||
|
||||
# Coupled to where this file lives!
|
||||
# Needed to resolve the relative includes file paths
|
||||
DOC_ROOT = Path(__file__).resolve().parent.parent
|
||||
REPO_ROOT = Path(__file__).resolve().parent.parent.parent
|
||||
|
||||
ROOT_FILE = DOC_ROOT / "manual.md.in"
|
||||
ROOT_FILE = REPO_ROOT / "nixos/doc/manual/manual.md"
|
||||
DOC_ROOT = ROOT_FILE.parent
|
||||
|
||||
INCLUDE_RE = re.compile(r"^```\{=include=\}(?P<rest>.*)$")
|
||||
FENCE_RE = re.compile(r"^(```|~~~)")
|
||||
|
||||
@@ -1,151 +1,27 @@
|
||||
# Generates the documentation for library functions via nixdoc.
|
||||
# To build this derivation, run `nix-build -A nixpkgs-manual.lib-docs`
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
nixdoc,
|
||||
nix,
|
||||
nixpkgs ? { },
|
||||
libsets ? [
|
||||
{
|
||||
name = "asserts";
|
||||
description = "assertion functions";
|
||||
}
|
||||
{
|
||||
name = "attrsets";
|
||||
description = "attribute set functions";
|
||||
}
|
||||
{
|
||||
name = "strings";
|
||||
description = "string manipulation functions";
|
||||
}
|
||||
{
|
||||
name = "versions";
|
||||
description = "version string functions";
|
||||
}
|
||||
{
|
||||
name = "trivial";
|
||||
description = "miscellaneous functions";
|
||||
}
|
||||
{
|
||||
name = "fixedPoints";
|
||||
baseName = "fixed-points";
|
||||
description = "explicit recursion functions";
|
||||
}
|
||||
{
|
||||
name = "lists";
|
||||
description = "list manipulation functions";
|
||||
}
|
||||
{
|
||||
name = "debug";
|
||||
description = "debugging functions";
|
||||
}
|
||||
{
|
||||
name = "options";
|
||||
description = "NixOS / nixpkgs option handling";
|
||||
}
|
||||
{
|
||||
name = "path";
|
||||
description = "path functions";
|
||||
}
|
||||
{
|
||||
name = "fetchers";
|
||||
description = "functions which can be reused across fetchers";
|
||||
}
|
||||
{
|
||||
name = "filesystem";
|
||||
description = "filesystem functions";
|
||||
}
|
||||
{
|
||||
name = "fileset";
|
||||
description = "file set functions";
|
||||
}
|
||||
{
|
||||
name = "sources";
|
||||
description = "source filtering functions";
|
||||
}
|
||||
{
|
||||
name = "cli";
|
||||
description = "command-line serialization functions";
|
||||
}
|
||||
{
|
||||
name = "generators";
|
||||
description = "functions that create file formats from nix data structures";
|
||||
}
|
||||
{
|
||||
name = "gvariant";
|
||||
description = "GVariant formatted string serialization functions";
|
||||
}
|
||||
{
|
||||
name = "customisation";
|
||||
description = "Functions to customise (derivation-related) functions, derivations, or attribute sets";
|
||||
}
|
||||
{
|
||||
name = "meta";
|
||||
description = "functions for derivation metadata";
|
||||
}
|
||||
{
|
||||
name = "derivations";
|
||||
description = "miscellaneous derivation-specific functions";
|
||||
}
|
||||
],
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
name = "nixpkgs-lib-docs";
|
||||
|
||||
src = ../../lib;
|
||||
|
||||
nativeBuildInputs = [
|
||||
nixdoc
|
||||
nix
|
||||
];
|
||||
nativeBuildInputs = [ nixdoc ];
|
||||
|
||||
buildPhase = ''
|
||||
mkdir -p src
|
||||
cp -r ${../../lib} src/lib
|
||||
|
||||
mkdir -p $out
|
||||
nixdoc --manifest ${../function-catalog.json} --root src --output $out/lib-functions.json
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
cd ..
|
||||
|
||||
export NIX_STATE_DIR=$(mktemp -d)
|
||||
nix-instantiate --eval --strict --json ${./lib-function-locations.nix} \
|
||||
--arg nixpkgsPath "./." \
|
||||
--argstr revision ${nixpkgs.rev or "master"} \
|
||||
--argstr libsetsJSON ${lib.escapeShellArg (builtins.toJSON libsets)} \
|
||||
--store $(mktemp -d) \
|
||||
> locations.json
|
||||
|
||||
function docgen {
|
||||
name=$1
|
||||
baseName=$2
|
||||
description=$3
|
||||
# TODO: wrap lib.$name in <literal>, make nixdoc not escape it
|
||||
if [[ -e "lib/$baseName.nix" ]]; then
|
||||
nixdoc -c "$name" -d "lib.$name: $description" -l locations.json -f "lib/$baseName.nix" > "$out/$name.md"
|
||||
else
|
||||
nixdoc -c "$name" -d "lib.$name: $description" -l locations.json -f "lib/$baseName/default.nix" > "$out/$name.md"
|
||||
fi
|
||||
echo "$out/$name.md" >> "$out/index.md"
|
||||
}
|
||||
|
||||
mkdir -p "$out"
|
||||
|
||||
cat > "$out/index.md" << 'EOF'
|
||||
```{=include=} sections auto-id-prefix=auto-generated
|
||||
EOF
|
||||
|
||||
${lib.concatMapStrings (
|
||||
{
|
||||
name,
|
||||
baseName ? name,
|
||||
description,
|
||||
}:
|
||||
''
|
||||
docgen ${name} ${baseName} ${lib.escapeShellArg description}
|
||||
''
|
||||
) libsets}
|
||||
|
||||
echo '```' >> "$out/index.md"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -1,82 +0,0 @@
|
||||
{
|
||||
nixpkgsPath,
|
||||
revision,
|
||||
libsetsJSON,
|
||||
}:
|
||||
let
|
||||
lib = import (nixpkgsPath + "/lib");
|
||||
libsets = builtins.fromJSON libsetsJSON;
|
||||
|
||||
libDefPos =
|
||||
prefix: set:
|
||||
builtins.concatMap (
|
||||
name:
|
||||
[
|
||||
{
|
||||
name = builtins.concatStringsSep "." (prefix ++ [ name ]);
|
||||
location = builtins.unsafeGetAttrPos name set;
|
||||
}
|
||||
]
|
||||
++ lib.optionals (builtins.length prefix == 0 && builtins.isAttrs set.${name}) (
|
||||
libDefPos (prefix ++ [ name ]) set.${name}
|
||||
)
|
||||
) (builtins.attrNames set);
|
||||
|
||||
libset =
|
||||
toplib:
|
||||
map (subsetname: {
|
||||
subsetname = subsetname;
|
||||
functions = libDefPos [ ] toplib.${subsetname};
|
||||
}) (map (x: x.name) libsets);
|
||||
|
||||
flattenedLibSubset =
|
||||
{ subsetname, functions }:
|
||||
map (fn: {
|
||||
name = "lib.${subsetname}.${fn.name}";
|
||||
value = fn.location;
|
||||
}) functions;
|
||||
|
||||
locatedlibsets = libs: map flattenedLibSubset (libset libs);
|
||||
removeFilenamePrefix =
|
||||
prefix: filename:
|
||||
let
|
||||
prefixLen = (builtins.stringLength prefix) + 1; # +1 to remove the leading /
|
||||
filenameLen = builtins.stringLength filename;
|
||||
substr = builtins.substring prefixLen filenameLen filename;
|
||||
in
|
||||
substr;
|
||||
|
||||
removeNixpkgs = removeFilenamePrefix (toString nixpkgsPath);
|
||||
|
||||
liblocations = builtins.filter (elem: elem.value != null) (lib.lists.flatten (locatedlibsets lib));
|
||||
|
||||
fnLocationRelative =
|
||||
{ name, value }:
|
||||
{
|
||||
inherit name;
|
||||
value = value // {
|
||||
file = removeNixpkgs value.file;
|
||||
};
|
||||
};
|
||||
|
||||
relativeLocs = (map fnLocationRelative liblocations);
|
||||
sanitizeId = builtins.replaceStrings [ "'" ] [ "-prime" ];
|
||||
|
||||
urlPrefix = "https://github.com/NixOS/nixpkgs/blob/${revision}";
|
||||
jsonLocs = builtins.listToAttrs (
|
||||
map (
|
||||
{ name, value }:
|
||||
{
|
||||
name = sanitizeId name;
|
||||
value =
|
||||
let
|
||||
text = "${value.file}:${toString value.line}";
|
||||
target = "${urlPrefix}/${value.file}#L${toString value.line}";
|
||||
in
|
||||
"[${text}](${target}) in `<nixpkgs>`";
|
||||
}
|
||||
) relativeLocs
|
||||
);
|
||||
|
||||
in
|
||||
jsonLocs
|
||||
@@ -91,7 +91,7 @@ stdenvNoCC.mkDerivation (
|
||||
substituteInPlace ./languages-frameworks/python.section.md \
|
||||
--subst-var-by python-interpreter-table "$(<"${pythonInterpreterTable}")"
|
||||
|
||||
cat ./functions/library.md.in ${lib-docs}/index.md > ./functions/library.md
|
||||
cp ${lib-docs}/lib-functions.json ./lib-functions.json
|
||||
|
||||
substitute ./manual.md.in ./manual.md \
|
||||
--replace-fail '@MANUAL_VERSION@' '${lib.version}'
|
||||
@@ -147,7 +147,7 @@ stdenvNoCC.mkDerivation (
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
lib-docs = callPackage ./lib-function-docs.nix { inherit nixpkgs; };
|
||||
lib-docs = callPackage ./lib-function-docs.nix { };
|
||||
|
||||
epub = callPackage ./epub.nix { };
|
||||
|
||||
|
||||
124
doc/function-catalog.json
Normal file
124
doc/function-catalog.json
Normal file
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"version": 1,
|
||||
"groups": [
|
||||
{ "id": "asserts", "description": "assertion functions" },
|
||||
{ "id": "attrsets", "description": "attribute set functions" },
|
||||
{ "id": "strings", "description": "string manipulation functions" },
|
||||
{ "id": "versions", "description": "version string functions" },
|
||||
{ "id": "trivial", "description": "miscellaneous functions" },
|
||||
{ "id": "fixedPoints", "description": "explicit recursion functions" },
|
||||
{ "id": "lists", "description": "list manipulation functions" },
|
||||
{ "id": "debug", "description": "debugging functions" },
|
||||
{ "id": "options", "description": "NixOS / nixpkgs option handling" },
|
||||
{ "id": "path", "description": "path functions" },
|
||||
{
|
||||
"id": "fetchers",
|
||||
"description": "functions which can be reused across fetchers"
|
||||
},
|
||||
{ "id": "filesystem", "description": "filesystem functions" },
|
||||
{ "id": "fileset" },
|
||||
{ "id": "sources", "description": "source filtering functions" },
|
||||
{ "id": "cli", "description": "command-line serialization functions" },
|
||||
{
|
||||
"id": "generators",
|
||||
"description": "functions that create file formats from nix data structures"
|
||||
},
|
||||
{
|
||||
"id": "gvariant",
|
||||
"description": "GVariant formatted string serialization functions"
|
||||
},
|
||||
{
|
||||
"id": "customisation",
|
||||
"description": "Functions to customise (derivation-related) functions, derivations, or attribute sets"
|
||||
},
|
||||
{ "id": "meta", "description": "functions for derivation metadata" },
|
||||
{
|
||||
"id": "derivations",
|
||||
"description": "miscellaneous derivation-specific functions"
|
||||
}
|
||||
],
|
||||
"sources": [
|
||||
{ "path": "lib.trivial", "file": "lib/trivial.nix", "groups": ["trivial"] },
|
||||
{
|
||||
"path": "lib.fixedPoints",
|
||||
"file": "lib/fixed-points.nix",
|
||||
"groups": ["fixedPoints"]
|
||||
},
|
||||
{
|
||||
"path": "lib.attrsets",
|
||||
"file": "lib/attrsets.nix",
|
||||
"groups": ["attrsets"]
|
||||
},
|
||||
{ "path": "lib.lists", "file": "lib/lists.nix", "groups": ["lists"] },
|
||||
{ "path": "lib.strings", "file": "lib/strings.nix", "groups": ["strings"] },
|
||||
{
|
||||
"path": "lib.customisation",
|
||||
"file": "lib/customisation.nix",
|
||||
"groups": ["customisation"]
|
||||
},
|
||||
{
|
||||
"path": "lib.derivations",
|
||||
"file": "lib/derivations.nix",
|
||||
"groups": ["derivations"]
|
||||
},
|
||||
{ "path": "lib.meta", "file": "lib/meta.nix", "groups": ["meta"] },
|
||||
{
|
||||
"path": "lib.versions",
|
||||
"file": "lib/versions.nix",
|
||||
"groups": ["versions"]
|
||||
},
|
||||
{ "path": "lib.cli", "file": "lib/cli.nix", "groups": ["cli"] },
|
||||
{
|
||||
"path": "lib.gvariant",
|
||||
"file": "lib/gvariant.nix",
|
||||
"groups": ["gvariant"]
|
||||
},
|
||||
{
|
||||
"path": "lib.generators",
|
||||
"file": "lib/generators.nix",
|
||||
"groups": ["generators"]
|
||||
},
|
||||
{ "path": "lib.asserts", "file": "lib/asserts.nix", "groups": ["asserts"] },
|
||||
{ "path": "lib.debug", "file": "lib/debug.nix", "groups": ["debug"] },
|
||||
{
|
||||
"path": "lib.fetchers",
|
||||
"file": "lib/fetchers.nix",
|
||||
"groups": ["fetchers"]
|
||||
},
|
||||
{ "path": "lib.path", "file": "lib/path/default.nix", "groups": ["path"] },
|
||||
{
|
||||
"path": "lib.filesystem",
|
||||
"file": "lib/filesystem.nix",
|
||||
"groups": ["filesystem"]
|
||||
},
|
||||
{
|
||||
"path": "lib.fileset",
|
||||
"file": "lib/fileset/default.nix",
|
||||
"groups": ["fileset"]
|
||||
},
|
||||
{
|
||||
"path": "lib.sources",
|
||||
"file": "lib/sources.nix",
|
||||
"groups": ["sources"],
|
||||
"mode": "deep",
|
||||
"include": [
|
||||
"pathIsGitRepo",
|
||||
"commitIdFromGitRepo",
|
||||
"cleanSource",
|
||||
"cleanSourceWith",
|
||||
"cleanSourceFilter",
|
||||
"pathHasContext",
|
||||
"canCleanSource",
|
||||
"urlToName",
|
||||
"shortRev",
|
||||
"revOrTag",
|
||||
"repoRevToName",
|
||||
"sourceByRegex",
|
||||
"sourceFilesBySuffices",
|
||||
"sourceByGlobs",
|
||||
"trace"
|
||||
]
|
||||
},
|
||||
{ "path": "lib.options", "file": "lib/options.nix", "groups": ["options"] }
|
||||
]
|
||||
}
|
||||
@@ -1,5 +1,3 @@
|
||||
# Nixpkgs Library Functions {#sec-functions-library}
|
||||
|
||||
Nixpkgs provides a standard library at `pkgs.lib`, or through `import <nixpkgs/lib>`.
|
||||
|
||||
<!-- nixdoc-generated documentation must be appended here during build! -->
|
||||
@@ -628,9 +628,12 @@
|
||||
"file": "functions.md"
|
||||
},
|
||||
{
|
||||
"id-prefix": "auto-generated",
|
||||
"file": "functions/library.md"
|
||||
},
|
||||
{
|
||||
"collection": "lib-functions.json",
|
||||
"type": "nixdoc"
|
||||
},
|
||||
{
|
||||
"file": "functions/generators.section.md"
|
||||
},
|
||||
|
||||
@@ -30,6 +30,7 @@ let
|
||||
inherit (lib.lists)
|
||||
all
|
||||
commonPrefix
|
||||
commonPrefixLength
|
||||
concatLists
|
||||
elemAt
|
||||
filter
|
||||
@@ -873,9 +874,7 @@ rec {
|
||||
# The common base components prefix, e.g.
|
||||
# (/foo/bar, /foo/bar/baz) -> /foo/bar
|
||||
# (/foo/bar, /foo/baz) -> /foo
|
||||
commonBaseComponentsLength =
|
||||
# TODO: Have a `lib.lists.commonPrefixLength` function such that we don't need the list allocation from commonPrefix here
|
||||
length (commonPrefix fileset1._internalBaseComponents fileset2._internalBaseComponents);
|
||||
commonBaseComponentsLength = commonPrefixLength fileset1._internalBaseComponents fileset2._internalBaseComponents;
|
||||
|
||||
# To be able to intersect filesetTree's together, they need to have the same base path.
|
||||
# Base paths can be intersected by taking the longest one (if any)
|
||||
@@ -955,9 +954,7 @@ rec {
|
||||
# The common base components prefix, e.g.
|
||||
# (/foo/bar, /foo/bar/baz) -> /foo/bar
|
||||
# (/foo/bar, /foo/baz) -> /foo
|
||||
commonBaseComponentsLength =
|
||||
# TODO: Have a `lib.lists.commonPrefixLength` function such that we don't need the list allocation from commonPrefix here
|
||||
length (commonPrefix positive._internalBaseComponents negative._internalBaseComponents);
|
||||
commonBaseComponentsLength = commonPrefixLength positive._internalBaseComponents negative._internalBaseComponents;
|
||||
|
||||
# We need filesetTree's with the same base to be able to compute the difference between them
|
||||
# This here is the filesetTree from the negative file set, but for a base path that matches the positive file set.
|
||||
|
||||
@@ -1822,7 +1822,37 @@ rec {
|
||||
|
||||
:::
|
||||
*/
|
||||
commonPrefix =
|
||||
commonPrefix = list1: list2: take (commonPrefixLength list1 list2) list1;
|
||||
|
||||
/**
|
||||
Returns the length of the common prefix of two lists,
|
||||
i.e. the number of leading elements that are pairwise equal.
|
||||
|
||||
This is more efficient than `length (commonPrefix a b)` because
|
||||
it avoids allocating an intermediate list.
|
||||
|
||||
# Type
|
||||
|
||||
```
|
||||
commonPrefixLength :: [a] -> [a] -> Int
|
||||
```
|
||||
|
||||
# Examples
|
||||
:::{.example}
|
||||
## `lib.lists.commonPrefixLength` usage example
|
||||
|
||||
```nix
|
||||
commonPrefixLength [ 1 2 3 4 5 6 ] [ 1 2 4 8 ]
|
||||
=> 2
|
||||
commonPrefixLength [ 1 2 3 ] [ 1 2 3 4 5 ]
|
||||
=> 3
|
||||
commonPrefixLength [ 1 2 3 ] [ 4 5 6 ]
|
||||
=> 0
|
||||
```
|
||||
|
||||
:::
|
||||
*/
|
||||
commonPrefixLength =
|
||||
list1: list2:
|
||||
let
|
||||
# Zip the lists together into a list of booleans whether each element matches
|
||||
@@ -1831,9 +1861,8 @@ rec {
|
||||
# which will then also be the length of the common prefix.
|
||||
# If all elements match, we fall back to the length of the zipped list,
|
||||
# which is the same as the length of the smaller list.
|
||||
commonPrefixLength = findFirstIndex id (length matchings) matchings;
|
||||
in
|
||||
take commonPrefixLength list1;
|
||||
findFirstIndex id (length matchings) matchings;
|
||||
|
||||
/**
|
||||
Returns the last element of a list.
|
||||
|
||||
@@ -1851,6 +1851,42 @@ runTests {
|
||||
expected = longList;
|
||||
};
|
||||
|
||||
testListCommonPrefixLengthExample1 = {
|
||||
expr = lists.commonPrefixLength [ 1 2 3 4 5 6 ] [ 1 2 4 8 ];
|
||||
expected = 2;
|
||||
};
|
||||
testListCommonPrefixLengthExample2 = {
|
||||
expr = lists.commonPrefixLength [ 1 2 3 ] [ 1 2 3 4 5 ];
|
||||
expected = 3;
|
||||
};
|
||||
testListCommonPrefixLengthExample3 = {
|
||||
expr = lists.commonPrefixLength [ 1 2 3 ] [ 4 5 6 ];
|
||||
expected = 0;
|
||||
};
|
||||
testListCommonPrefixLengthEmpty = {
|
||||
expr = lists.commonPrefixLength [ ] [ 1 2 3 ];
|
||||
expected = 0;
|
||||
};
|
||||
testListCommonPrefixLengthSame = {
|
||||
expr = lists.commonPrefixLength [ 1 2 3 ] [ 1 2 3 ];
|
||||
expected = 3;
|
||||
};
|
||||
testListCommonPrefixLengthLazy = {
|
||||
expr =
|
||||
lists.commonPrefixLength
|
||||
[ 1 ]
|
||||
[ 1 (abort "lib.lists.commonPrefixLength shouldn't evaluate this") ];
|
||||
expected = 1;
|
||||
};
|
||||
testListCommonPrefixLengthLong =
|
||||
let
|
||||
longList = genList (n: n) 100000;
|
||||
in
|
||||
{
|
||||
expr = lists.commonPrefixLength longList longList;
|
||||
expected = 100000;
|
||||
};
|
||||
|
||||
testSort = {
|
||||
expr = sort builtins.lessThan [
|
||||
40
|
||||
|
||||
@@ -3146,6 +3146,12 @@
|
||||
githubId = 2806307;
|
||||
keys = [ { fingerprint = "00F4 21C4 C537 7BA3 9820 E13F 6B95 E13D E469 CC5D"; } ];
|
||||
};
|
||||
badheuristic = {
|
||||
email = "steveoncaffeine@gmail.com";
|
||||
github = "badheuristic";
|
||||
githubId = 233336560;
|
||||
name = "Stephen Adebambo";
|
||||
};
|
||||
badmutex = {
|
||||
email = "github@badi.sh";
|
||||
github = "badmutex";
|
||||
@@ -10473,6 +10479,12 @@
|
||||
githubId = 104317939;
|
||||
name = "gilice";
|
||||
};
|
||||
gimura = {
|
||||
email = "gimura0001@gmail.com";
|
||||
github = "gimura2022";
|
||||
githubId = 109300813;
|
||||
name = "gimura";
|
||||
};
|
||||
gin66 = {
|
||||
email = "jochen@kiemes.de";
|
||||
github = "gin66";
|
||||
@@ -21506,6 +21518,12 @@
|
||||
name = "Nadia";
|
||||
keys = [ { fingerprint = "6B51 E324 238A F455 2381 313A 9254 1B0C D2A9 3AD8"; } ];
|
||||
};
|
||||
nyakase = {
|
||||
email = "hi@hakase.life";
|
||||
github = "nyakase";
|
||||
githubId = 46850780;
|
||||
name = "nyakase";
|
||||
};
|
||||
nyanloutre = {
|
||||
email = "paul@nyanlout.re";
|
||||
github = "nyanloutre";
|
||||
|
||||
@@ -20,9 +20,3 @@ get upgraded along with your host system when you run `nixos-rebuild`,
|
||||
which is often not what you want. By contrast, in the imperative
|
||||
approach, containers are configured and updated independently from the
|
||||
host system.
|
||||
|
||||
```{=include=} sections
|
||||
imperative-containers.section.md
|
||||
declarative-containers.section.md
|
||||
container-networking.section.md
|
||||
```
|
||||
|
||||
@@ -1,15 +1,3 @@
|
||||
# Administration {#ch-running}
|
||||
|
||||
This chapter describes various aspects of managing a running NixOS system, such as how to use the {command}`systemd` service manager.
|
||||
|
||||
```{=include=} chapters
|
||||
service-mgmt.chapter.md
|
||||
rebooting.chapter.md
|
||||
user-sessions.chapter.md
|
||||
control-groups.chapter.md
|
||||
logging.chapter.md
|
||||
system-state.chapter.md
|
||||
cleaning-store.chapter.md
|
||||
containers.chapter.md
|
||||
troubleshooting.chapter.md
|
||||
```
|
||||
|
||||
@@ -8,10 +8,3 @@ However, it is possible and not-uncommon to create [impermanent systems], whose
|
||||
this kind of configuration, special care needs to be taken.
|
||||
|
||||
[impermanent systems]: https://wiki.nixos.org/wiki/Impermanence
|
||||
|
||||
|
||||
```{=include=} sections
|
||||
nixos-state.section.md
|
||||
systemd-state.section.md
|
||||
zfs-state.section.md
|
||||
```
|
||||
|
||||
@@ -2,11 +2,3 @@
|
||||
|
||||
This chapter describes solutions to common problems you might encounter
|
||||
when you manage your NixOS system.
|
||||
|
||||
```{=include=} sections
|
||||
boot-problems.section.md
|
||||
maintenance-mode.section.md
|
||||
rollback.section.md
|
||||
store-corruption.section.md
|
||||
network-problems.section.md
|
||||
```
|
||||
|
||||
@@ -10,9 +10,3 @@ of the Nix language are fully described in the [Nix
|
||||
manual](https://nixos.org/nix/manual/#chap-writing-nix-expressions), but
|
||||
here we give a short overview of the most important constructs useful in
|
||||
NixOS configuration files.
|
||||
|
||||
```{=include=} sections
|
||||
config-file.section.md
|
||||
abstractions.section.md
|
||||
modularity.section.md
|
||||
```
|
||||
|
||||
@@ -2,27 +2,4 @@
|
||||
|
||||
This chapter describes how to configure various aspects of a NixOS machine through the configuration file {file}`/etc/nixos/configuration.nix`. As described in [](#sec-changing-config), changes to this file only take effect after you run {command}`nixos-rebuild`.
|
||||
|
||||
```{=include=} chapters
|
||||
config-syntax.chapter.md
|
||||
package-mgmt.chapter.md
|
||||
user-mgmt.chapter.md
|
||||
file-systems.chapter.md
|
||||
x-windows.chapter.md
|
||||
wayland.chapter.md
|
||||
gpu-accel.chapter.md
|
||||
xfce.chapter.md
|
||||
networking.chapter.md
|
||||
linux-kernel.chapter.md
|
||||
subversion.chapter.md
|
||||
```
|
||||
|
||||
```{=include=} chapters
|
||||
@MODULE_CHAPTERS@
|
||||
```
|
||||
|
||||
```{=include=} chapters
|
||||
profiles.chapter.md
|
||||
mattermost.chapter.md
|
||||
kubernetes.chapter.md
|
||||
```
|
||||
<!-- Apache; libvirtd virtualisation -->
|
||||
|
||||
@@ -39,8 +39,3 @@ configuration, use `pkgs` prefix (variable).
|
||||
|
||||
To "uninstall" a package, remove it from
|
||||
[](#opt-environment.systemPackages) and run `nixos-rebuild switch`.
|
||||
|
||||
```{=include=} sections
|
||||
customizing-packages.section.md
|
||||
adding-custom-packages.section.md
|
||||
```
|
||||
|
||||
@@ -37,10 +37,3 @@ System startup will fail if any of the filesystems fails to mount,
|
||||
dropping you to the emergency shell. You can make a mount asynchronous
|
||||
and non-critical by adding `options = [ "nofail" ];`.
|
||||
:::
|
||||
|
||||
```{=include=} sections
|
||||
luks-file-systems.section.md
|
||||
sshfs-file-systems.section.md
|
||||
nfs-file-systems.section.md
|
||||
overlayfs.section.md
|
||||
```
|
||||
|
||||
@@ -3,14 +3,4 @@
|
||||
This section describes how to configure networking components
|
||||
on your NixOS machine.
|
||||
|
||||
```{=include=} sections
|
||||
network-manager.section.md
|
||||
ssh.section.md
|
||||
ipv4-config.section.md
|
||||
ipv6-config.section.md
|
||||
firewall.section.md
|
||||
wireless.section.md
|
||||
ad-hoc-network-config.section.md
|
||||
renaming-interfaces.section.md
|
||||
```
|
||||
<!-- TODO: OpenVPN, NAT -->
|
||||
|
||||
@@ -11,8 +11,3 @@ NixOS has two distinct styles of package management:
|
||||
- *Ad hoc*, where you install, upgrade and uninstall packages via the
|
||||
`nix-env` command. This style allows mixing packages from different
|
||||
Nixpkgs versions. It's the only choice for non-root users.
|
||||
|
||||
```{=include=} sections
|
||||
declarative-packages.section.md
|
||||
ad-hoc-packages.section.md
|
||||
```
|
||||
|
||||
@@ -16,17 +16,3 @@ install media, many are actually intended to be used in real installs.
|
||||
|
||||
What follows is a brief explanation of the purpose and use-case for each
|
||||
profile. Detailing each option configured by each one is out of scope.
|
||||
|
||||
```{=include=} sections
|
||||
profiles/all-hardware.section.md
|
||||
profiles/base.section.md
|
||||
profiles/clone-config.section.md
|
||||
profiles/demo.section.md
|
||||
profiles/docker-container.section.md
|
||||
profiles/graphical.section.md
|
||||
profiles/headless.section.md
|
||||
profiles/installation-device.section.md
|
||||
profiles/perlless.section.md
|
||||
profiles/minimal.section.md
|
||||
profiles/qemu-guest.section.md
|
||||
```
|
||||
|
||||
@@ -103,12 +103,16 @@ let
|
||||
|
||||
cp -r ${../../../doc/release-notes} ./release-notes-nixpkgs
|
||||
|
||||
cp ${./nav.json} nav.json
|
||||
|
||||
substituteInPlace ./manual.md \
|
||||
--replace-fail '@NIXOS_VERSION@' "${version}"
|
||||
substituteInPlace ./configuration/configuration.md \
|
||||
substituteInPlace ./nav.json \
|
||||
--replace-fail \
|
||||
'@MODULE_CHAPTERS@' \
|
||||
${escapeShellArg (concatMapStringsSep "\n" (p: "${p.value}") config.meta.doc)}
|
||||
'"@MODULE_CHAPTERS@"' \
|
||||
${escapeShellArg (
|
||||
concatMapStringsSep ",\n" (p: ''{ "file": "${p.value}" }'') config.meta.doc
|
||||
)}
|
||||
substituteInPlace ./nixos-options.md \
|
||||
--replace-fail \
|
||||
'@NIXOS_OPTIONS_JSON@' \
|
||||
@@ -200,9 +204,10 @@ rec {
|
||||
--script ./highlightjs/loader.js \
|
||||
--script ./anchor.min.js \
|
||||
--script ./anchor-use.js \
|
||||
--sidebar-depth 2 \
|
||||
--sidebar-depth 3 \
|
||||
--header ${./header.html}\
|
||||
--no-navheader \
|
||||
--experimental-config nav.json \
|
||||
./manual.md \
|
||||
$dst/${common.indexPath}
|
||||
|
||||
|
||||
@@ -1,16 +1,3 @@
|
||||
# Development {#ch-development}
|
||||
|
||||
This chapter describes how you can modify and extend NixOS.
|
||||
|
||||
```{=include=} chapters
|
||||
sources.chapter.md
|
||||
writing-modules.chapter.md
|
||||
building-parts.chapter.md
|
||||
bootspec.chapter.md
|
||||
what-happens-during-a-system-switch.chapter.md
|
||||
writing-documentation.chapter.md
|
||||
nixos-tests.chapter.md
|
||||
developing-the-test-driver.chapter.md
|
||||
testing-installer.chapter.md
|
||||
modular-services.md
|
||||
```
|
||||
|
||||
@@ -4,11 +4,3 @@ When you add some feature to NixOS, you should write a test for it.
|
||||
NixOS tests are kept in the directory `nixos/tests`, and are executed
|
||||
(using Nix) by a testing framework that automatically starts one or more
|
||||
virtual machines containing the NixOS system(s) required for the test.
|
||||
|
||||
```{=include=} sections
|
||||
writing-nixos-tests.section.md
|
||||
running-nixos-tests.section.md
|
||||
running-nixos-tests-interactively.section.md
|
||||
linking-nixos-tests-to-packages.section.md
|
||||
testing-hardware-features.section.md
|
||||
```
|
||||
|
||||
@@ -53,10 +53,3 @@ More detailed output can be displayed by setting `STC_DEBUG=1`.
|
||||
Most of these actions are either self-explaining but some of them have to do
|
||||
with our units or the activation script. For this reason, these topics are
|
||||
explained in the next sections.
|
||||
|
||||
```{=include=} sections
|
||||
unit-handling.section.md
|
||||
activation-script.section.md
|
||||
non-switchable-systems.section.md
|
||||
etc-overlay.section.md
|
||||
```
|
||||
|
||||
@@ -209,16 +209,3 @@ in
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
```{=include=} sections
|
||||
option-declarations.section.md
|
||||
option-types.section.md
|
||||
option-def.section.md
|
||||
assertions.section.md
|
||||
meta-attributes.section.md
|
||||
importing-modules.section.md
|
||||
replace-modules.section.md
|
||||
freeform-modules.section.md
|
||||
settings-options.section.md
|
||||
state-revision.section.md
|
||||
```
|
||||
|
||||
@@ -1,13 +1,3 @@
|
||||
# Installation {#ch-installation}
|
||||
|
||||
This section describes how to obtain, install, and configure NixOS for first-time use.
|
||||
|
||||
```{=include=} chapters
|
||||
obtaining.chapter.md
|
||||
installing.chapter.md
|
||||
changing-config.chapter.md
|
||||
upgrading.chapter.md
|
||||
building-nixos.chapter.md
|
||||
building-images-via-nixos-rebuild-build-image.chapter.md
|
||||
building-images-via-systemd-repart.chapter.md
|
||||
```
|
||||
|
||||
@@ -577,12 +577,3 @@ With a partitioned disk.
|
||||
:::
|
||||
|
||||
## Additional installation notes {#sec-installation-additional-notes}
|
||||
|
||||
```{=include=} sections
|
||||
installing-usb.section.md
|
||||
installing-pxe.section.md
|
||||
installing-kexec.section.md
|
||||
installing-virtualbox-guest.section.md
|
||||
installing-from-other-distro.section.md
|
||||
installing-behind-a-proxy.section.md
|
||||
```
|
||||
|
||||
@@ -32,21 +32,6 @@
|
||||
|
||||
-->
|
||||
|
||||
```{=include=} preface
|
||||
preface.md
|
||||
```
|
||||
|
||||
```{=include=} parts
|
||||
installation/installation.md
|
||||
configuration/configuration.md
|
||||
administration/running.md
|
||||
development/development.md
|
||||
```
|
||||
|
||||
```{=include=} chapters
|
||||
contributing-to-this-manual.chapter.md
|
||||
```
|
||||
|
||||
```{=include=} appendix html:into-file=//options.html
|
||||
nixos-options.md
|
||||
```
|
||||
|
||||
444
nixos/doc/manual/nav.json
Normal file
444
nixos/doc/manual/nav.json
Normal file
@@ -0,0 +1,444 @@
|
||||
{
|
||||
"open": [],
|
||||
"items": [
|
||||
{
|
||||
"file": "preface.md"
|
||||
},
|
||||
{
|
||||
"label": "Installation",
|
||||
"id": "ch-installation",
|
||||
"children": [
|
||||
{
|
||||
"file": "installation/installation.md"
|
||||
},
|
||||
{
|
||||
"file": "installation/obtaining.chapter.md"
|
||||
},
|
||||
{
|
||||
"label": "Installing NixOS",
|
||||
"id": "sec-installation",
|
||||
"children": [
|
||||
{
|
||||
"file": "installation/installing.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "installation/installing-usb.section.md"
|
||||
},
|
||||
{
|
||||
"file": "installation/installing-pxe.section.md"
|
||||
},
|
||||
{
|
||||
"file": "installation/installing-kexec.section.md"
|
||||
},
|
||||
{
|
||||
"file": "installation/installing-virtualbox-guest.section.md"
|
||||
},
|
||||
{
|
||||
"file": "installation/installing-from-other-distro.section.md"
|
||||
},
|
||||
{
|
||||
"file": "installation/installing-behind-a-proxy.section.md"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"file": "installation/changing-config.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "installation/upgrading.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "installation/building-nixos.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "installation/building-images-via-nixos-rebuild-build-image.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "installation/building-images-via-systemd-repart.chapter.md"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "Configuration",
|
||||
"id": "ch-configuration",
|
||||
"children": [
|
||||
{
|
||||
"file": "configuration/configuration.md"
|
||||
},
|
||||
{
|
||||
"label": "Configuration Syntax",
|
||||
"id": "sec-configuration-syntax",
|
||||
"children": [
|
||||
{
|
||||
"file": "configuration/config-syntax.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/config-file.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/abstractions.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/modularity.section.md"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "Package Management",
|
||||
"id": "sec-package-management",
|
||||
"children": [
|
||||
{
|
||||
"file": "configuration/package-mgmt.chapter.md"
|
||||
},
|
||||
{
|
||||
"label": "Declarative Package Management",
|
||||
"id": "sec-declarative-package-mgmt",
|
||||
"children": [
|
||||
{
|
||||
"file": "configuration/declarative-packages.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/customizing-packages.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/adding-custom-packages.section.md"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"file": "configuration/ad-hoc-packages.section.md"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"file": "configuration/user-mgmt.chapter.md"
|
||||
},
|
||||
{
|
||||
"label": "File Systems",
|
||||
"id": "ch-file-systems",
|
||||
"children": [
|
||||
{
|
||||
"file": "configuration/file-systems.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/luks-file-systems.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/sshfs-file-systems.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/nfs-file-systems.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/overlayfs.section.md"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"file": "configuration/x-windows.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/wayland.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/gpu-accel.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/xfce.chapter.md"
|
||||
},
|
||||
{
|
||||
"label": "Networking",
|
||||
"id": "sec-networking",
|
||||
"children": [
|
||||
{
|
||||
"file": "configuration/networking.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/network-manager.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/ssh.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/ipv4-config.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/ipv6-config.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/firewall.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/wireless.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/ad-hoc-network-config.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/renaming-interfaces.section.md"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"file": "configuration/linux-kernel.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/subversion.chapter.md"
|
||||
},
|
||||
"@MODULE_CHAPTERS@",
|
||||
{
|
||||
"label": "Profiles",
|
||||
"id": "ch-profiles",
|
||||
"children": [
|
||||
{
|
||||
"file": "configuration/profiles.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/profiles/all-hardware.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/profiles/base.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/profiles/clone-config.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/profiles/demo.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/profiles/docker-container.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/profiles/graphical.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/profiles/headless.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/profiles/installation-device.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/profiles/perlless.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/profiles/minimal.section.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/profiles/qemu-guest.section.md"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"file": "configuration/mattermost.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "configuration/kubernetes.chapter.md"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "Administration",
|
||||
"id": "ch-running",
|
||||
"children": [
|
||||
{
|
||||
"file": "administration/running.md"
|
||||
},
|
||||
{
|
||||
"file": "administration/service-mgmt.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "administration/rebooting.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "administration/user-sessions.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "administration/control-groups.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "administration/logging.chapter.md"
|
||||
},
|
||||
{
|
||||
"label": "Necessary system state",
|
||||
"id": "ch-system-state",
|
||||
"children": [
|
||||
{
|
||||
"file": "administration/system-state.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "administration/nixos-state.section.md"
|
||||
},
|
||||
{
|
||||
"file": "administration/systemd-state.section.md"
|
||||
},
|
||||
{
|
||||
"file": "administration/zfs-state.section.md"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"file": "administration/cleaning-store.chapter.md"
|
||||
},
|
||||
{
|
||||
"label": "Container Management",
|
||||
"id": "ch-containers",
|
||||
"children": [
|
||||
{
|
||||
"file": "administration/containers.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "administration/imperative-containers.section.md"
|
||||
},
|
||||
{
|
||||
"file": "administration/declarative-containers.section.md"
|
||||
},
|
||||
{
|
||||
"file": "administration/container-networking.section.md"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "Troubleshooting",
|
||||
"id": "ch-troubleshooting",
|
||||
"children": [
|
||||
{
|
||||
"file": "administration/troubleshooting.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "administration/boot-problems.section.md"
|
||||
},
|
||||
{
|
||||
"file": "administration/maintenance-mode.section.md"
|
||||
},
|
||||
{
|
||||
"file": "administration/rollback.section.md"
|
||||
},
|
||||
{
|
||||
"file": "administration/store-corruption.section.md"
|
||||
},
|
||||
{
|
||||
"file": "administration/network-problems.section.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "Development",
|
||||
"id": "ch-development",
|
||||
"children": [
|
||||
{
|
||||
"file": "development/development.md"
|
||||
},
|
||||
{
|
||||
"file": "development/sources.chapter.md"
|
||||
},
|
||||
{
|
||||
"label": "Writing NixOS Modules",
|
||||
"id": "sec-writing-modules",
|
||||
"children": [
|
||||
{
|
||||
"file": "development/writing-modules.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "development/option-declarations.section.md"
|
||||
},
|
||||
{
|
||||
"file": "development/option-types.section.md"
|
||||
},
|
||||
{
|
||||
"file": "development/option-def.section.md"
|
||||
},
|
||||
{
|
||||
"file": "development/assertions.section.md"
|
||||
},
|
||||
{
|
||||
"file": "development/meta-attributes.section.md"
|
||||
},
|
||||
{
|
||||
"file": "development/importing-modules.section.md"
|
||||
},
|
||||
{
|
||||
"file": "development/replace-modules.section.md"
|
||||
},
|
||||
{
|
||||
"file": "development/freeform-modules.section.md"
|
||||
},
|
||||
{
|
||||
"file": "development/settings-options.section.md"
|
||||
},
|
||||
{
|
||||
"file": "development/state-revision.section.md"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"file": "development/building-parts.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "development/bootspec.chapter.md"
|
||||
},
|
||||
{
|
||||
"label": "What happens during a system switch?",
|
||||
"id": "sec-switching-systems",
|
||||
"children": [
|
||||
{
|
||||
"file": "development/what-happens-during-a-system-switch.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "development/unit-handling.section.md"
|
||||
},
|
||||
{
|
||||
"file": "development/activation-script.section.md"
|
||||
},
|
||||
{
|
||||
"file": "development/non-switchable-systems.section.md"
|
||||
},
|
||||
{
|
||||
"file": "development/etc-overlay.section.md"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"file": "development/writing-documentation.chapter.md"
|
||||
},
|
||||
{
|
||||
"label": "NixOS Tests",
|
||||
"id": "sec-nixos-tests",
|
||||
"children": [
|
||||
{
|
||||
"file": "development/nixos-tests.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "development/writing-nixos-tests.section.md"
|
||||
},
|
||||
{
|
||||
"file": "development/running-nixos-tests.section.md"
|
||||
},
|
||||
{
|
||||
"file": "development/running-nixos-tests-interactively.section.md"
|
||||
},
|
||||
{
|
||||
"file": "development/linking-nixos-tests-to-packages.section.md"
|
||||
},
|
||||
{
|
||||
"file": "development/testing-hardware-features.section.md"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"file": "development/developing-the-test-driver.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "development/testing-installer.chapter.md"
|
||||
},
|
||||
{
|
||||
"file": "development/modular-services.md"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"file": "contributing-to-this-manual.chapter.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -88,6 +88,8 @@
|
||||
|
||||
- [Kener](https://kener.ing), a modern, open-source status page application built with Node.js. Available as [services.kener](#opt-services.kener.enable).
|
||||
|
||||
- [OpenSearch Dashboards](https://opensearch.org/platform/opensearch-dashboards/), a powerful, open-source visualization tool that you can use to explore, analyze, and understand your data in real time. Available as [services.opensearch-dashboards](#opt-services.opensearch-dashboards.enable).
|
||||
|
||||
- [FlapAlerted](https://github.com/Kioubit/FlapAlerted), detects BGP flapping events and provides statistics based on BGP update messages. Available as [services.flap-alerted](#opt-services.flap-alerted.enable).
|
||||
|
||||
- [gocron](https://github.com/flohoss/gocron), a task scheduler with web interface. Available as [services.gocron](#opt-services.gocron.enable).
|
||||
|
||||
@@ -1545,6 +1545,7 @@
|
||||
./services/search/manticore.nix
|
||||
./services/search/meilisearch.nix
|
||||
./services/search/nominatim.nix
|
||||
./services/search/opensearch-dashboards.nix
|
||||
./services/search/opensearch.nix
|
||||
./services/search/qdrant.nix
|
||||
./services/search/quickwit.nix
|
||||
|
||||
@@ -29,6 +29,26 @@ in
|
||||
|
||||
package = lib.mkPackageOption pkgs "ntfy-sh" { };
|
||||
|
||||
nginx = {
|
||||
enable = lib.mkOption {
|
||||
default = false;
|
||||
type = lib.types.bool;
|
||||
description = "Whether to set up an nginx virtual host.";
|
||||
};
|
||||
|
||||
port = lib.mkOption {
|
||||
type = lib.types.port;
|
||||
default = 2586;
|
||||
description = "Internal port for ntfy to listen to.";
|
||||
};
|
||||
|
||||
virtualHost = lib.mkOption {
|
||||
type = lib.types.nonEmptyStr;
|
||||
example = "push.example.com";
|
||||
description = "Virtual host to use for nginx.";
|
||||
};
|
||||
};
|
||||
|
||||
settings = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
freeformType = settingsFormat.type;
|
||||
@@ -89,7 +109,7 @@ in
|
||||
|
||||
services.ntfy-sh.settings = {
|
||||
auth-file = lib.mkDefault "/var/lib/ntfy-sh/user.db";
|
||||
listen-http = lib.mkDefault "127.0.0.1:2586";
|
||||
listen-http = if cfg.nginx.enable then "[::1]:${cfg.nginx.port}" else lib.mkDefault "[::1]:2586";
|
||||
attachment-cache-dir = lib.mkDefault "/var/lib/ntfy-sh/attachments";
|
||||
cache-file = lib.mkDefault "/var/lib/ntfy-sh/cache-file.db";
|
||||
};
|
||||
@@ -125,5 +145,23 @@ in
|
||||
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
|
||||
};
|
||||
};
|
||||
|
||||
services.nginx = lib.mkIf cfg.nginx.enable {
|
||||
enable = true;
|
||||
virtualHosts."${cfg.nginx.virtualHost}" = {
|
||||
forceSSL = true;
|
||||
|
||||
locations."/" = {
|
||||
proxyPass = "http://[::1]:${cfg.nginx.port}";
|
||||
proxyWebsockets = true;
|
||||
extraConfig = ''
|
||||
proxy_connect_timeout 3m;
|
||||
proxy_send_timeout 3m;
|
||||
proxy_read_timeout 3m;
|
||||
client_max_body_size 0;
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
108
nixos/modules/services/search/opensearch-dashboards.nix
Normal file
108
nixos/modules/services/search/opensearch-dashboards.nix
Normal file
@@ -0,0 +1,108 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
options,
|
||||
pkgs,
|
||||
utils,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mkEnableOption
|
||||
mkIf
|
||||
mkOption
|
||||
types
|
||||
;
|
||||
|
||||
cfg = config.services.opensearch-dashboards;
|
||||
yaml = pkgs.formats.yaml { };
|
||||
stateDir = "/var/lib/opensearch-dashboards";
|
||||
in
|
||||
{
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
makefu
|
||||
shymega
|
||||
];
|
||||
|
||||
options.services.opensearch-dashboards = {
|
||||
enable = lib.mkEnableOption "OpenSearch Dashboards";
|
||||
|
||||
package = lib.mkPackageOption pkgs "OpenSearch Dashboards" {
|
||||
default = [ "opensearch-dashboards" ];
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "opensearch-dashboards";
|
||||
description = ''
|
||||
The user to run OpenSearch Dashboards under.
|
||||
'';
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
type = types.submodule {
|
||||
freeformType = yaml.type;
|
||||
};
|
||||
default = { };
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
opensearch = {
|
||||
username = "foo";
|
||||
password._secret = "/run/keys/opensearch_password";
|
||||
};
|
||||
|
||||
server = {
|
||||
name = "your-hostname";
|
||||
port = 5601;
|
||||
maxPayloadbytes = 104857;
|
||||
};
|
||||
};
|
||||
'';
|
||||
description = ''
|
||||
OpenSearch Dashboards settings.
|
||||
|
||||
Available settings can be found by looking at the
|
||||
[opensearch_dashboards.yml](https://github.com/opensearch-project/OpenSearch-Dashboards/blob/main/config/opensearch_dashboards.yml)
|
||||
from the Opensearch Dashboards repo.
|
||||
|
||||
{file}`config/nixos_site_settings.json` file,
|
||||
attribute set containing the attribute
|
||||
`_secret` - a string pointing to a file
|
||||
containing the value the option should be set to. See the
|
||||
example to get a better picture of this: in the resulting
|
||||
{file}`opensearch_dashboards.yml` file,
|
||||
the `opensearch.password` key will
|
||||
be set to the contents of the
|
||||
{file}`/run/keys/opensearch_password`
|
||||
file.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf (cfg.enable) {
|
||||
systemd.services.opensearch-dashboards = {
|
||||
description = "OpenSearch Dashboards Service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
environment = {
|
||||
BABEL_CACHE_PATH = "${stateDir}/.babelcache.json";
|
||||
};
|
||||
serviceConfig =
|
||||
let
|
||||
configPath = stateDir + "/opensearch_dashboards.yml";
|
||||
in
|
||||
{
|
||||
ExecStartPre = pkgs.writeShellScript "dashboards-exec-pre" ''
|
||||
set -euo pipefail
|
||||
umask 077
|
||||
${utils.genJqSecretsReplacementSnippet cfg.settings configPath}
|
||||
chown ${cfg.user} ${configPath}
|
||||
'';
|
||||
ExecStart = "${cfg.package}/bin/opensearch-dashboards --config ${configPath} --path.data ${stateDir}";
|
||||
StateDirectory = "opensearch-dashboards";
|
||||
User = cfg.user;
|
||||
DynamicUser = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -15,6 +15,7 @@ let
|
||||
mkPackageOption
|
||||
types
|
||||
getExe
|
||||
getExe'
|
||||
optional
|
||||
converge
|
||||
filterAttrsRecursive
|
||||
@@ -28,29 +29,40 @@ let
|
||||
# Remove null values, so we can document optional/forbidden values that don't end up in the generated TOML file.
|
||||
filterConfig = converge (filterAttrsRecursive (_: v: v != null));
|
||||
|
||||
finalPackage = cfg.package.overridePythonAttrs (old: {
|
||||
dependencies =
|
||||
old.dependencies
|
||||
++ old.optional-dependencies.front
|
||||
++ old.optional-dependencies.oidc
|
||||
++ old.optional-dependencies.scim
|
||||
++ old.optional-dependencies.ldap
|
||||
++ old.optional-dependencies.sentry
|
||||
++ old.optional-dependencies.postgresql
|
||||
++ old.optional-dependencies.otp
|
||||
++ old.optional-dependencies.sms;
|
||||
makeWrapperArgs = (old.makeWrapperArgs or [ ]) ++ [
|
||||
"--set CANAILLE_CONFIG /etc/canaille/config.toml"
|
||||
"--set SECRETS_DIR \"${secretsDir}\""
|
||||
];
|
||||
});
|
||||
inherit (finalPackage) python;
|
||||
pythonEnv = python.buildEnv.override {
|
||||
extraLibs = with python.pkgs; [
|
||||
(toPythonModule finalPackage)
|
||||
celery
|
||||
];
|
||||
python = cfg.package.python.override {
|
||||
self = python;
|
||||
packageOverrides = _final: prev: {
|
||||
gunicorn = prev.gunicorn.overridePythonAttrs (old: {
|
||||
# Allows Gunicorn to set a meaningful process name
|
||||
dependencies = (old.dependencies or [ ]) ++ old.optional-dependencies.setproctitle;
|
||||
});
|
||||
canaille = prev.toPythonModule (
|
||||
(cfg.package.override { python3 = python; }).overridePythonAttrs (old: {
|
||||
dependencies =
|
||||
old.dependencies
|
||||
++ old.optional-dependencies.front
|
||||
++ old.optional-dependencies.oidc
|
||||
++ old.optional-dependencies.scim
|
||||
++ old.optional-dependencies.ldap
|
||||
++ old.optional-dependencies.sentry
|
||||
++ old.optional-dependencies.postgresql
|
||||
++ old.optional-dependencies.otp
|
||||
++ old.optional-dependencies.sms;
|
||||
makeWrapperArgs = (old.makeWrapperArgs or [ ]) ++ [
|
||||
"--set CANAILLE_CONFIG /etc/canaille/config.toml"
|
||||
"--set SECRETS_DIR \"${secretsDir}\""
|
||||
];
|
||||
})
|
||||
);
|
||||
};
|
||||
};
|
||||
pythonEnv = python.withPackages (
|
||||
ps: with ps; [
|
||||
canaille
|
||||
gunicorn
|
||||
celery
|
||||
]
|
||||
);
|
||||
|
||||
commonServiceConfig = {
|
||||
WorkingDirectory = dataDir;
|
||||
@@ -285,7 +297,7 @@ in
|
||||
after = optional createLocalPostgresqlDb "postgresql.target";
|
||||
serviceConfig = commonServiceConfig // {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${getExe finalPackage} install";
|
||||
ExecStart = "${getExe python.pkgs.canaille} install";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -308,21 +320,16 @@ in
|
||||
};
|
||||
serviceConfig = commonServiceConfig // {
|
||||
Restart = "on-failure";
|
||||
ExecStart =
|
||||
let
|
||||
gunicorn = python.pkgs.gunicorn.overridePythonAttrs (old: {
|
||||
# Allows Gunicorn to set a meaningful process name
|
||||
dependencies = (old.dependencies or [ ]) ++ old.optional-dependencies.setproctitle;
|
||||
});
|
||||
in
|
||||
''
|
||||
${getExe gunicorn} \
|
||||
--name=canaille \
|
||||
--bind='unix:///run/canaille.socket' \
|
||||
'canaille:create_app()'
|
||||
'';
|
||||
ExecStart = ''
|
||||
${getExe' pythonEnv "gunicorn"} \
|
||||
--name=canaille \
|
||||
--bind='unix:///run/canaille.socket' \
|
||||
'canaille:create_app()'
|
||||
'';
|
||||
};
|
||||
restartTriggers = [ "/etc/canaille/config.toml" ];
|
||||
restartTriggers = [
|
||||
config.environment.etc."canaille/config.toml".source
|
||||
];
|
||||
};
|
||||
|
||||
systemd.sockets.canaille = {
|
||||
@@ -355,10 +362,10 @@ in
|
||||
locations = {
|
||||
"/".proxyPass = "http://unix:///run/canaille.socket";
|
||||
"/static" = {
|
||||
root = "${finalPackage}/${python.sitePackages}/canaille";
|
||||
root = "${python.pkgs.canaille}/${python.sitePackages}/canaille";
|
||||
};
|
||||
"~* ^/static/.+\\.(?:css|cur|js|jpe?g|gif|htc|ico|png|html|xml|otf|ttf|eot|woff|woff2|svg)$" = {
|
||||
root = "${finalPackage}/${python.sitePackages}/canaille";
|
||||
root = "${python.pkgs.canaille}/${python.sitePackages}/canaille";
|
||||
extraConfig = ''
|
||||
access_log off;
|
||||
expires 30d;
|
||||
@@ -382,7 +389,7 @@ in
|
||||
users.users.canaille = {
|
||||
isSystemUser = true;
|
||||
group = "canaille";
|
||||
packages = [ finalPackage ];
|
||||
packages = [ python.pkgs.canaille ];
|
||||
};
|
||||
|
||||
users.groups.canaille.members = [ config.services.nginx.user ];
|
||||
|
||||
@@ -573,6 +573,7 @@ in
|
||||
documize = runTest ./documize.nix;
|
||||
docuseal-psql = runTest ./docuseal-postgres.nix;
|
||||
docuseal-sqlite = runTest ./docuseal-sqlite.nix;
|
||||
docuum = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./docuum.nix;
|
||||
doh-proxy-rust = runTest ./doh-proxy-rust.nix;
|
||||
dokuwiki = runTest ./dokuwiki.nix;
|
||||
dolibarr = runTest ./dolibarr.nix;
|
||||
@@ -1398,6 +1399,7 @@ in
|
||||
openldap = runTest ./openldap.nix;
|
||||
openresty-lua = runTest ./openresty-lua.nix;
|
||||
opensearch = discoverTests (import ./opensearch.nix);
|
||||
opensearch-dashboards = handleTest ./opensearch-dashboards.nix { };
|
||||
opensmtpd = handleTest ./opensmtpd.nix { };
|
||||
opensmtpd-rspamd = handleTest ./opensmtpd-rspamd.nix { };
|
||||
opensnitch = runTest ./opensnitch.nix;
|
||||
|
||||
58
nixos/tests/docuum.nix
Normal file
58
nixos/tests/docuum.nix
Normal file
@@ -0,0 +1,58 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
name = "docuum";
|
||||
meta.maintainers = [ lib.maintainers.h7x4 ];
|
||||
|
||||
containers.machine = {
|
||||
virtualisation.docker.enable = true;
|
||||
|
||||
services.docuum = {
|
||||
enable = true;
|
||||
threshold = "5 MB";
|
||||
keep = [ "^keep-me:" ];
|
||||
};
|
||||
};
|
||||
|
||||
testScript =
|
||||
let
|
||||
# Each image is 2 MB, so the third non-exempt image should be evicted.
|
||||
imageSizeKb = 2 * 1024;
|
||||
|
||||
mkTestImage =
|
||||
name:
|
||||
pkgs.dockerTools.buildImage {
|
||||
inherit name;
|
||||
tag = "test";
|
||||
copyToRoot = pkgs.runCommand "docuum-test-data-${name}" { } ''
|
||||
mkdir -p $out
|
||||
echo "${name}" > $out/name
|
||||
dd if=/dev/zero of=$out/data bs=1024 count=${toString imageSizeKb}
|
||||
'';
|
||||
};
|
||||
|
||||
images = {
|
||||
keepMe = mkTestImage "keep-me";
|
||||
old = mkTestImage "old-image";
|
||||
new = mkTestImage "new-image";
|
||||
};
|
||||
in
|
||||
''
|
||||
start_all()
|
||||
|
||||
machine.wait_for_unit("docker.service")
|
||||
machine.wait_for_unit("docuum.service")
|
||||
machine.wait_until_succeeds("journalctl -u docuum --grep 'Listening for Docker events'")
|
||||
|
||||
machine.succeed(
|
||||
"docker load < ${images.keepMe}",
|
||||
"docker load < ${images.old}",
|
||||
"docker load < ${images.new}",
|
||||
)
|
||||
|
||||
machine.wait_until_fails("docker image inspect old-image:test")
|
||||
machine.succeed(
|
||||
"docker image inspect keep-me:test",
|
||||
"docker image inspect new-image:test",
|
||||
)
|
||||
'';
|
||||
}
|
||||
@@ -20,6 +20,7 @@
|
||||
];
|
||||
|
||||
testScript = ''
|
||||
import json
|
||||
from lxml import etree
|
||||
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
@@ -29,7 +30,7 @@
|
||||
|
||||
# enable Title-Wrap extension
|
||||
tree = etree.HTML(response)
|
||||
csrf = tree.xpath("/html/body/header/nav/form/input/@value")[0]
|
||||
csrf = json.loads(tree.xpath('//script[@id="jsonVars"]/text()')[0])["context"]["csrf"]
|
||||
machine.succeed(f"curl --fail-with-body --silent 'http://localhost:80/i/?c=extension&a=enable&e=Title-Wrap' -d '_csrf={csrf}'")
|
||||
# verify that the Title-Wrap css is accessible.
|
||||
machine.succeed("curl --fail-with-body --silent 'http://localhost:80/ext.php?1=&f=xExtension-TitleWrap/static/title_wrap.css'")
|
||||
|
||||
117
nixos/tests/opensearch-dashboards.nix
Normal file
117
nixos/tests/opensearch-dashboards.nix
Normal file
@@ -0,0 +1,117 @@
|
||||
import ./make-test-python.nix (
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
name = "opensearch-dashboards";
|
||||
meta.maintainers = [ ];
|
||||
|
||||
nodes.machine = {
|
||||
virtualisation.memorySize = 4096;
|
||||
|
||||
services.opensearch = {
|
||||
enable = true;
|
||||
# security is disabled by default
|
||||
};
|
||||
|
||||
services.opensearch-dashboards = {
|
||||
enable = true;
|
||||
package = pkgs.opensearch-dashboards.override {
|
||||
disableSecurity = true;
|
||||
};
|
||||
settings = {
|
||||
server.host = "0.0.0.0";
|
||||
server.port = 5601;
|
||||
opensearch.hosts = [ "http://localhost:9200" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
import json
|
||||
import shlex
|
||||
|
||||
machine.start()
|
||||
|
||||
with subtest("opensearch starts and is reachable"):
|
||||
machine.wait_for_unit("opensearch.service")
|
||||
machine.wait_for_open_port(9200)
|
||||
machine.succeed("curl --fail http://localhost:9200/")
|
||||
|
||||
with subtest("opensearch-dashboards starts and is reachable"):
|
||||
machine.wait_for_unit("opensearch-dashboards.service")
|
||||
machine.wait_for_open_port(5601)
|
||||
# Dashboards takes a while to fully initialize
|
||||
machine.wait_until_succeeds(
|
||||
"curl --fail -s http://localhost:5601/api/status"
|
||||
" | grep -q '\"state\":\"green\"'",
|
||||
timeout=120,
|
||||
)
|
||||
|
||||
with subtest("inject logs into opensearch"):
|
||||
# Create an index with timestamped log entries
|
||||
for i in range(5):
|
||||
doc = json.dumps({
|
||||
"@timestamp": f"2026-04-14T10:00:0{i}Z",
|
||||
"message": f"test log entry {i}",
|
||||
"level": "info",
|
||||
"service": "vmtest",
|
||||
})
|
||||
machine.succeed(
|
||||
"curl --fail -s -X POST http://localhost:9200/test-logs/_doc"
|
||||
f" -H 'Content-Type: application/json' -d {shlex.quote(doc)}"
|
||||
)
|
||||
|
||||
# Refresh the index so documents are searchable
|
||||
machine.succeed(
|
||||
"curl --fail -s -X POST http://localhost:9200/test-logs/_refresh"
|
||||
)
|
||||
|
||||
# Verify documents are in opensearch
|
||||
result = machine.succeed(
|
||||
"curl --fail -s http://localhost:9200/test-logs/_count"
|
||||
)
|
||||
count = json.loads(result)["count"]
|
||||
assert count == 5, f"Expected 5 documents, got {count}"
|
||||
|
||||
with subtest("create index pattern in dashboards"):
|
||||
payload = json.dumps({
|
||||
"attributes": {
|
||||
"title": "test-logs*",
|
||||
"timeFieldName": "@timestamp",
|
||||
}
|
||||
})
|
||||
machine.succeed(
|
||||
"curl --fail -s -X POST"
|
||||
" http://localhost:5601/api/saved_objects/index-pattern/test-logs"
|
||||
" -H 'osd-xsrf: true'"
|
||||
f" -H 'Content-Type: application/json' -d {shlex.quote(payload)}"
|
||||
)
|
||||
|
||||
with subtest("query logs through dashboards discover search"):
|
||||
# Use the internal search API that the Discover view uses
|
||||
query = json.dumps({
|
||||
"params": {
|
||||
"index": "test-logs*",
|
||||
"body": {
|
||||
"query": {"match_all": {}},
|
||||
"size": 10,
|
||||
},
|
||||
}
|
||||
})
|
||||
result = machine.succeed(
|
||||
"curl --fail -s -X POST"
|
||||
" http://localhost:5601/internal/search/opensearch"
|
||||
" -H 'osd-xsrf: true'"
|
||||
f" -H 'Content-Type: application/json' -d {shlex.quote(query)}"
|
||||
)
|
||||
data = json.loads(result)
|
||||
hits = data["rawResponse"]["hits"]["hits"]
|
||||
assert len(hits) == 5, f"Expected 5 hits from dashboards, got {len(hits)}"
|
||||
|
||||
# Verify the log messages are present
|
||||
messages = sorted([h["_source"]["message"] for h in hits])
|
||||
for i in range(5):
|
||||
expected = f"test log entry {i}"
|
||||
assert expected in messages, f"Missing log entry: {expected}"
|
||||
'';
|
||||
}
|
||||
)
|
||||
@@ -461,12 +461,12 @@ final: prev: {
|
||||
|
||||
SchemaStore-nvim = buildVimPlugin {
|
||||
pname = "SchemaStore.nvim";
|
||||
version = "0-unstable-2026-09-12";
|
||||
version = "0-unstable-2026-09-16";
|
||||
src = fetchFromGitHub {
|
||||
owner = "b0o";
|
||||
repo = "SchemaStore.nvim";
|
||||
rev = "05e938c0aa5dfbdbb11972fa4c8a85f27f402ba0";
|
||||
hash = "sha256-p+h2y42PRUM1ZPIlBe31/n7IPmh3oEiWgL3HuoUI8Yg=";
|
||||
rev = "ab094b7f788231fe9b68deac78c3d512302c58a6";
|
||||
hash = "sha256-AKGx8ubYHhDireMwOcimvr7zpM1sjytkaRHtguAfVLo=";
|
||||
};
|
||||
meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
|
||||
meta.license = getLicenseFromSpdxId "Apache-2.0";
|
||||
@@ -1135,12 +1135,12 @@ final: prev: {
|
||||
|
||||
async-nvim = buildVimPlugin {
|
||||
pname = "async.nvim";
|
||||
version = "0-unstable-2026-09-03";
|
||||
version = "0-unstable-2026-09-16";
|
||||
src = fetchFromGitHub {
|
||||
owner = "lewis6991";
|
||||
repo = "async.nvim";
|
||||
rev = "ca8f5696c45bd4786b8840923d86b6932ce92ded";
|
||||
hash = "sha256-dUP9knuzL4qiXdbcjil3Yu5Ve3sVL1DSKJbEY5FwDpA=";
|
||||
rev = "15f28ec323a75f34f317336831c00c2d1b0a7192";
|
||||
hash = "sha256-8S2HNBBwB3c58NudCGrTyBKoQkGDIG0Syravh+sl/Dw=";
|
||||
};
|
||||
meta.homepage = "https://github.com/lewis6991/async.nvim/";
|
||||
meta.license = getLicenseFromSpdxId "MIT";
|
||||
@@ -3513,12 +3513,12 @@ final: prev: {
|
||||
|
||||
coc-nvim = buildVimPlugin {
|
||||
pname = "coc.nvim";
|
||||
version = "0.0.82-unstable-2026-09-11";
|
||||
version = "0.0.82-unstable-2026-09-16";
|
||||
src = fetchFromGitHub {
|
||||
owner = "neoclide";
|
||||
repo = "coc.nvim";
|
||||
rev = "90b55f067595e7f9dd920c957d6345f434f32dd2";
|
||||
hash = "sha256-6gX6voB7AZhBmG/NYUCEwEm6V5gunT+WHVSvOsZ0Kj4=";
|
||||
rev = "c39eba4cf90254dd9e3ce54f617f07d1853d5da5";
|
||||
hash = "sha256-FMP/UaBSAj29Cei7CDLamtjOAOAqcZLGBYjt/6uQHlI=";
|
||||
};
|
||||
meta.homepage = "https://github.com/neoclide/coc.nvim/";
|
||||
meta.license = getLicenseFromSpdxId "MIT";
|
||||
@@ -3611,12 +3611,12 @@ final: prev: {
|
||||
|
||||
codecompanion-nvim = buildVimPlugin {
|
||||
pname = "codecompanion.nvim";
|
||||
version = "19.24.1";
|
||||
version = "19.25.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "olimorris";
|
||||
repo = "codecompanion.nvim";
|
||||
tag = "v19.24.1";
|
||||
hash = "sha256-oihHiKhU093AT5aqvTxJ4wXmH+pMKFJ5zgzUo5SJ/Yw=";
|
||||
tag = "v19.25.0";
|
||||
hash = "sha256-PTvllgZji45JdW1NW9YmRDJqiEvdmbpeB2QGvu10jbM=";
|
||||
};
|
||||
meta.homepage = "https://github.com/olimorris/codecompanion.nvim/";
|
||||
meta.license = getLicenseFromSpdxId "Apache-2.0";
|
||||
@@ -4228,12 +4228,12 @@ final: prev: {
|
||||
|
||||
coq_nvim = buildVimPlugin {
|
||||
pname = "coq_nvim";
|
||||
version = "0-unstable-2026-09-04";
|
||||
version = "0-unstable-2026-09-14";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ms-jpq";
|
||||
repo = "coq_nvim";
|
||||
rev = "a0689fdab9ad5a46bc8730c96a43f215d605f23c";
|
||||
hash = "sha256-ZKju7Pb5GdhWVwF1oXgGt6DXZvyaaQKQHSuKce6P+DI=";
|
||||
rev = "735596a7ec4f4984c90827f8e1100e320eb14cba";
|
||||
hash = "sha256-igRYHOoBBz7R5aUuxPkaAfmTH6TYSXMNV2pBTcT5Pe0=";
|
||||
};
|
||||
meta.homepage = "https://github.com/ms-jpq/coq_nvim/";
|
||||
meta.license = getLicenseFromSpdxId "GPL-3.0-only";
|
||||
@@ -4816,12 +4816,12 @@ final: prev: {
|
||||
|
||||
demicolon-nvim = buildVimPlugin {
|
||||
pname = "demicolon.nvim";
|
||||
version = "2.0-unstable-2026-06-20";
|
||||
version = "2.0-unstable-2026-09-16";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mawkler";
|
||||
repo = "demicolon.nvim";
|
||||
rev = "153444f17494e2ff6ab7d226e6173c1841b1130a";
|
||||
hash = "sha256-gBGJphvT1AXN/UImrSWiWhhzcQt4i68Vbwtr9jXipwo=";
|
||||
rev = "d4bc516cc346202eb7f933b38e47534d41769f46";
|
||||
hash = "sha256-N60NIspY5QspqvqfndU74jJDClm7uBL5VpKwnamuodM=";
|
||||
};
|
||||
meta.homepage = "https://github.com/mawkler/demicolon.nvim/";
|
||||
meta.license = getLicenseFromSpdxId "MIT";
|
||||
@@ -5490,12 +5490,12 @@ final: prev: {
|
||||
|
||||
easy-dotnet-nvim = buildVimPlugin {
|
||||
pname = "easy-dotnet.nvim";
|
||||
version = "0-unstable-2026-09-10";
|
||||
version = "0-unstable-2026-09-15";
|
||||
src = fetchFromGitHub {
|
||||
owner = "GustavEikaas";
|
||||
repo = "easy-dotnet.nvim";
|
||||
rev = "bde7a1cf7c4dbad61d68b2ca41672bfe194b06f8";
|
||||
hash = "sha256-/1FzQEXnPOl+jcj0QQ04u9lJgmDb2Ejhy3KurFpkCnU=";
|
||||
rev = "df600029a54754d90ac35fe284b3921bb7bf1023";
|
||||
hash = "sha256-1F1IXv3lNC7PP+fQESrQtx/7YTrMgl2SGRIAZzuxUQI=";
|
||||
};
|
||||
meta.homepage = "https://github.com/GustavEikaas/easy-dotnet.nvim/";
|
||||
meta.license = getLicenseFromSpdxId "MIT";
|
||||
@@ -5799,12 +5799,12 @@ final: prev: {
|
||||
|
||||
executor-nvim = buildVimPlugin {
|
||||
pname = "executor.nvim";
|
||||
version = "0-unstable-2025-08-15";
|
||||
version = "0-unstable-2026-09-15";
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "executor.nvim";
|
||||
rev = "56dfbe6f7fbf4a6ba7e5934df2d95810e0235f64";
|
||||
hash = "sha256-FdcOzT3LgJBifXdEAzfMtcfrIDlYFcY1RogVxcl3Avk=";
|
||||
rev = "f40ff80b0831c34e8feae92b996477b4bba67764";
|
||||
hash = "sha256-UaBqJzR+s4DgtMJ2JDKhr+jJekPr8LspQvVdfgU9x/8=";
|
||||
};
|
||||
meta.homepage = "https://github.com/google/executor.nvim/";
|
||||
meta.license = getLicenseFromSpdxId "Apache-2.0";
|
||||
@@ -6753,12 +6753,12 @@ final: prev: {
|
||||
|
||||
gitignore-nvim = buildVimPlugin {
|
||||
pname = "gitignore.nvim";
|
||||
version = "0-unstable-2025-05-30";
|
||||
version = "0-unstable-2026-09-15";
|
||||
src = fetchFromGitHub {
|
||||
owner = "wintermute-cell";
|
||||
repo = "gitignore.nvim";
|
||||
rev = "0344f643768c4d64af4add8c1bdddf6f7d4c9010";
|
||||
hash = "sha256-9Qu+oVOtufvf+ekj2rY+T9c2y7BXh9d7hfl6ZiMYpPY=";
|
||||
rev = "15ed88abbaeb5deffe6d7c6d51af9b6ff784135f";
|
||||
hash = "sha256-45PCvabbqcgasvuFg/g8c/N6XkU43/lmqoATMnvc8NY=";
|
||||
};
|
||||
meta.homepage = "https://github.com/wintermute-cell/gitignore.nvim/";
|
||||
meta.license = getLicenseFromSpdxId "MIT";
|
||||
@@ -8125,12 +8125,12 @@ final: prev: {
|
||||
|
||||
iron-nvim = buildVimPlugin {
|
||||
pname = "iron.nvim";
|
||||
version = "0-unstable-2026-08-30";
|
||||
version = "0-unstable-2026-09-15";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Vigemus";
|
||||
repo = "iron.nvim";
|
||||
rev = "1ad44e4e82ad31b7df1cdb7f154c707bfd0d303c";
|
||||
hash = "sha256-59+/yLkvBsAVmYt7HfQYn0A2oPAewAQcNx3XneyKVaQ=";
|
||||
rev = "0168b419bc7df70cd2d97c2ec8158b6b002450b2";
|
||||
hash = "sha256-2oQ4CGcdxVJpubxv+NQLbVk3cW38iP45xX3rAL1ZOl4=";
|
||||
};
|
||||
meta.homepage = "https://github.com/Vigemus/iron.nvim/";
|
||||
meta.license = getLicenseFromSpdxId "BSD-3-Clause";
|
||||
@@ -11218,12 +11218,12 @@ final: prev: {
|
||||
|
||||
neoconf-nvim = buildVimPlugin {
|
||||
pname = "neoconf.nvim";
|
||||
version = "1.4.0-unstable-2026-09-03";
|
||||
version = "1.4.0-unstable-2026-09-17";
|
||||
src = fetchFromGitHub {
|
||||
owner = "folke";
|
||||
repo = "neoconf.nvim";
|
||||
rev = "931000cfab0120191ee914afbbc3f2b02f3533de";
|
||||
hash = "sha256-IfL6Rbp6KIHs/QZ25kPQU2NDTkasYv4B2yiAAmbLSKg=";
|
||||
rev = "54f249a7f1a87a51ff1f559e873daf05e20a454b";
|
||||
hash = "sha256-tpjnVOIaULSgEzPypvKipNWlEbYvtMossbu/yhHgsWY=";
|
||||
};
|
||||
meta.homepage = "https://github.com/folke/neoconf.nvim/";
|
||||
meta.license = getLicenseFromSpdxId "Apache-2.0";
|
||||
@@ -12130,12 +12130,12 @@ final: prev: {
|
||||
|
||||
nginx-vim = buildVimPlugin {
|
||||
pname = "nginx.vim";
|
||||
version = "1.1.0-unstable-2026-02-09";
|
||||
version = "1.1.0-unstable-2026-09-15";
|
||||
src = fetchFromGitHub {
|
||||
owner = "chr4";
|
||||
repo = "nginx.vim";
|
||||
rev = "a5991f38135d0c6c259d0b9f5e629ba33b891b9e";
|
||||
hash = "sha256-rGqNjdaK5HX6Cad3x+awRLz24PfsA+APWg+vKjWn490=";
|
||||
rev = "3f1ce6c24ba3b5bde979cfac2c017612d7bfd311";
|
||||
hash = "sha256-7UVwoZjyfl2YiNzQnfanoqAmfmZlhRlrbtYxqrBVTGY=";
|
||||
};
|
||||
meta.homepage = "https://github.com/chr4/nginx.vim/";
|
||||
meta.license = unfree;
|
||||
@@ -12409,12 +12409,12 @@ final: prev: {
|
||||
|
||||
notmuch-nvim = buildVimPlugin {
|
||||
pname = "notmuch.nvim";
|
||||
version = "0.4.0";
|
||||
version = "0.5.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "yousefakbar";
|
||||
repo = "notmuch.nvim";
|
||||
tag = "v0.4.0";
|
||||
hash = "sha256-A+vlH8fUNd3/lTH++sp90YXRqe3/uTxOTNw43CJQQyc=";
|
||||
tag = "v0.5.0";
|
||||
hash = "sha256-Q2xxAC10xZFa+xKXnnyJRe5qi/aqZUwp0+l7SIIBriM=";
|
||||
};
|
||||
meta.homepage = "https://github.com/yousefakbar/notmuch.nvim/";
|
||||
meta.license = unfree;
|
||||
@@ -13871,6 +13871,20 @@ final: prev: {
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
nvim-surround-wk = buildVimPlugin {
|
||||
pname = "nvim-surround-wk";
|
||||
version = "1.0.0-unstable-2026-06-11";
|
||||
src = fetchFromGitHub {
|
||||
owner = "gregorias";
|
||||
repo = "nvim-surround-wk";
|
||||
rev = "d8f4058cab1f0a4805e0e9f7e1415607681265f6";
|
||||
hash = "sha256-41RttsqCI9y3ID7h8tmlcRmNtA9WNjyKp9R7ISLghjQ=";
|
||||
};
|
||||
meta.homepage = "https://github.com/gregorias/nvim-surround-wk/";
|
||||
meta.license = getLicenseFromSpdxId "GPL-3.0-only";
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
nvim-teal-maker = buildVimPlugin {
|
||||
pname = "nvim-teal-maker";
|
||||
version = "0-unstable-2022-04-09";
|
||||
@@ -14671,12 +14685,12 @@ final: prev: {
|
||||
|
||||
opencode-nvim = buildVimPlugin {
|
||||
pname = "opencode.nvim";
|
||||
version = "1.0.1";
|
||||
version = "1.0.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nickjvandyke";
|
||||
repo = "opencode.nvim";
|
||||
tag = "v1.0.1";
|
||||
hash = "sha256-rJz8AtUEgyTMvLd5cMD0wcsaNgW8FmPX1dtLymHM00o=";
|
||||
tag = "v1.0.2";
|
||||
hash = "sha256-AoQXcrIymg2DDHKYQFkV039bFo/AN1QJVevhsIcc/+I=";
|
||||
};
|
||||
meta.homepage = "https://github.com/nickjvandyke/opencode.nvim/";
|
||||
meta.license = getLicenseFromSpdxId "MIT";
|
||||
@@ -15373,12 +15387,12 @@ final: prev: {
|
||||
|
||||
project-nvim = buildVimPlugin {
|
||||
pname = "project.nvim";
|
||||
version = "6.2.1-1";
|
||||
version = "6.3.0-1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "DrKJeff16";
|
||||
repo = "project.nvim";
|
||||
tag = "v6.2.1-1";
|
||||
hash = "sha256-jJwnMO5rYhlDp+ykL/72o4fllbtLCxdX+2ZCBJGxtwg=";
|
||||
tag = "v6.3.0-1";
|
||||
hash = "sha256-X8Jd6KtX/oM8Oe1KsRlixfGNAUwfkWfXQO/Xkg7EAqU=";
|
||||
};
|
||||
meta.homepage = "https://github.com/DrKJeff16/project.nvim/";
|
||||
meta.license = getLicenseFromSpdxId "Apache-2.0";
|
||||
@@ -15849,12 +15863,12 @@ final: prev: {
|
||||
|
||||
render-markdown-nvim = buildVimPlugin {
|
||||
pname = "render-markdown.nvim";
|
||||
version = "8.13.0";
|
||||
version = "8.14.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MeanderingProgrammer";
|
||||
repo = "render-markdown.nvim";
|
||||
tag = "v8.13.0";
|
||||
hash = "sha256-ukJUaqEYI60o/lyLM5GaKsRdMW/24IZnzVzPB9/Q/zo=";
|
||||
tag = "v8.14.0";
|
||||
hash = "sha256-pG8lAo4qucIu+gAwrEaK79VkDFTLcuuPBYhq3sg951E=";
|
||||
};
|
||||
meta.homepage = "https://github.com/MeanderingProgrammer/render-markdown.nvim/";
|
||||
meta.license = getLicenseFromSpdxId "MIT";
|
||||
@@ -18233,6 +18247,20 @@ final: prev: {
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
tiny-code-action-nvim = buildVimPlugin {
|
||||
pname = "tiny-code-action.nvim";
|
||||
version = "0-unstable-2026-04-25";
|
||||
src = fetchFromGitHub {
|
||||
owner = "rachartier";
|
||||
repo = "tiny-code-action.nvim";
|
||||
rev = "0d040ed81f7953118b81cd12681fcdfcac069803";
|
||||
hash = "sha256-UF9zeO5Uujdt2MEwy2d2Lhk6JRnEN4vrEvYslv0/zaA=";
|
||||
};
|
||||
meta.homepage = "https://github.com/rachartier/tiny-code-action.nvim/";
|
||||
meta.license = getLicenseFromSpdxId "MIT";
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
tiny-devicons-auto-colors-nvim = buildVimPlugin {
|
||||
pname = "tiny-devicons-auto-colors.nvim";
|
||||
version = "0-unstable-2026-05-29";
|
||||
@@ -26403,12 +26431,12 @@ final: prev: {
|
||||
|
||||
zotcite = buildVimPlugin {
|
||||
pname = "zotcite";
|
||||
version = "0.7-unstable-2026-08-24";
|
||||
version = "0.7-unstable-2026-09-15";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jalvesaq";
|
||||
repo = "zotcite";
|
||||
rev = "282bd8963218f840d7286ce6874bafc7c6b4b535";
|
||||
hash = "sha256-qR2/SLTUw4Mc2KpdPbkPETuvxKpOg6N3Qu3XgrNy48k=";
|
||||
rev = "669110c668cee18565069ed8980c14af7798df0b";
|
||||
hash = "sha256-vOO70rXJMIOH8xdP0z4E5+JU+Nx+NBYdMlYaFkU4XOs=";
|
||||
};
|
||||
meta.homepage = "https://github.com/jalvesaq/zotcite/";
|
||||
meta.license = getLicenseFromSpdxId "GPL-3.0-only";
|
||||
|
||||
@@ -4655,6 +4655,13 @@ assertNoAdditions {
|
||||
};
|
||||
});
|
||||
|
||||
tiny-code-action-nvim = super.tiny-code-action-nvim.overrideAttrs {
|
||||
nvimSkipModules = [
|
||||
# test for optional previewer
|
||||
"tiny-code-action.previewers.snacks"
|
||||
];
|
||||
};
|
||||
|
||||
tmux-complete-vim = super.tmux-complete-vim.overrideAttrs {
|
||||
# Vim plugin with optional nvim-compe lua module
|
||||
nvimSkipModules = [ "compe_tmux" ];
|
||||
|
||||
@@ -989,6 +989,7 @@ https://github.com/ishan9299/nvim-solarized-lua/,,
|
||||
https://github.com/prismatic-koi/nvim-sops/,,
|
||||
https://github.com/chrisgrieser/nvim-spider/,,
|
||||
https://github.com/kylechui/nvim-surround/,main,
|
||||
https://github.com/gregorias/nvim-surround-wk/,main,
|
||||
https://github.com/svermeulen/nvim-teal-maker/,,
|
||||
https://github.com/norcalli/nvim-terminal.lua/,,
|
||||
https://github.com/klen/nvim-test/,,
|
||||
@@ -1300,6 +1301,7 @@ https://github.com/levouh/tint.nvim/,,
|
||||
https://github.com/tinted-theming/tinted-nvim/,,
|
||||
https://github.com/tinted-theming/tinted-vim/,,
|
||||
https://github.com/rachartier/tiny-cmdline.nvim/,,
|
||||
https://github.com/rachartier/tiny-code-action.nvim/,,
|
||||
https://github.com/rachartier/tiny-devicons-auto-colors.nvim/,,
|
||||
https://github.com/rachartier/tiny-glimmer.nvim/,,
|
||||
https://github.com/rachartier/tiny-inline-diagnostic.nvim/,,
|
||||
|
||||
@@ -12,22 +12,22 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
sources = {
|
||||
"x86_64-linux" = {
|
||||
arch = "linux-x64";
|
||||
hash = "sha256-0Sfnhxgcws/Nk57lF1UV7DQh2pq5OJlFpRaPHhSSAlg=";
|
||||
hash = "sha256-sZ9dwKsCNHIQQDnHRLF7U/sq3tt3MECDjpEwO4emn6I=";
|
||||
};
|
||||
"aarch64-linux" = {
|
||||
arch = "linux-arm64";
|
||||
hash = "sha256-Vu38YBqcpYbzFUE5D63/1A9+hoAmQ88VenQ4jeq1XWU=";
|
||||
hash = "sha256-sUjRLPUM8gc1ddBajfd+C0HQsY87mzQ+/BcXxOS6a0I=";
|
||||
};
|
||||
"aarch64-darwin" = {
|
||||
arch = "darwin-arm64";
|
||||
hash = "sha256-Vi+ClxIVz+Ko34mRGMk11xTL88t3EkZ346RciMTL9es=";
|
||||
hash = "sha256-ifxVrJmXZPdOvfS0Dnl/ns/qtP1UP4RbZhLWs10AweU=";
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
name = "ruff";
|
||||
publisher = "charliermarsh";
|
||||
version = "2026.78.0";
|
||||
version = "2026.82.0";
|
||||
}
|
||||
// sources.${stdenvNoCC.hostPlatform.system}
|
||||
or (throw "Unsupported system ${stdenvNoCC.hostPlatform.system}");
|
||||
|
||||
@@ -4530,8 +4530,8 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "streetsidesoftware";
|
||||
name = "code-spell-checker";
|
||||
version = "4.7.3";
|
||||
hash = "sha256-xvvw+8JvRte3f3Zm24NzfjFMeTAkKeUS0EqqxFoEl/0=";
|
||||
version = "4.9.3";
|
||||
hash = "sha256-8MfXeGFCeKhxa3Z/YISz60N6ZmGHRJde3X/y4I6Totw=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog";
|
||||
|
||||
@@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "basedpyright";
|
||||
publisher = "detachhead";
|
||||
version = "1.39.10";
|
||||
hash = "sha256-jvhWtI8orTEKT/NZf+ADzi2BZUGN9sZImEi7UuaJjzg=";
|
||||
version = "1.40.1";
|
||||
hash = "sha256-1vtico0e2lVJ43ZEYcQpXt8nlD5+8KWxe2o1q8f0yZU=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://github.com/detachhead/basedpyright/releases";
|
||||
|
||||
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
publisher = "ms-azuretools";
|
||||
name = "vscode-containers";
|
||||
version = "2.5.0";
|
||||
hash = "sha256-NYYI2w5N8PEPeFcO1PHtD6hinK6Rb6Ux6Ot8OYxYydU=";
|
||||
version = "2.5.1";
|
||||
hash = "sha256-FHS93HCKHFzleRIJP+pxpdTZZjqBkZOjHlmJ5M0ojbs=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
traefik-crd = {
|
||||
url = "https://k3s.io/k3s-charts/assets/traefik-crd/traefik-crd-41.4.2+up41.4.0.tgz";
|
||||
sha256 = "0dfvh65gilw4z3cyia8gq0hqgcp09cbdihq6g6n93af9lbpwysnf";
|
||||
};
|
||||
traefik = {
|
||||
url = "https://k3s.io/k3s-charts/assets/traefik/traefik-41.4.2+up41.4.0.tgz";
|
||||
sha256 = "1379f54pci4y41szpnw016wr6kkawyyr6sfzijdsz3f8fryhp3xp";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"airgap-images-amd64-tar-gz": {
|
||||
"url": "https://github.com/k3s-io/k3s/releases/download/v1.37.0%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
|
||||
"sha256": "936f0ef6acaacb1950367308fbbe0388244df2ffc2a80cbd99e1f01ddde413e7"
|
||||
},
|
||||
"airgap-images-amd64-tar-zst": {
|
||||
"url": "https://github.com/k3s-io/k3s/releases/download/v1.37.0%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
|
||||
"sha256": "0b4ff0d6e233de54be4e16cb5aa298fd53ad88f66ad8ae31093b5ef4dcefcdd0"
|
||||
},
|
||||
"airgap-images-arm-tar-gz": {
|
||||
"url": "https://github.com/k3s-io/k3s/releases/download/v1.37.0%2Bk3s1/k3s-airgap-images-arm.tar.gz",
|
||||
"sha256": "b7d9f8e94a28d0f70b8b9d6782f3d3190fe94b0b19fca4554e41ad3dbdee1f3f"
|
||||
},
|
||||
"airgap-images-arm-tar-zst": {
|
||||
"url": "https://github.com/k3s-io/k3s/releases/download/v1.37.0%2Bk3s1/k3s-airgap-images-arm.tar.zst",
|
||||
"sha256": "be1628b6beb17937140171374beed94e550a9c3c8ea98eec23ae6f21ca8493f1"
|
||||
},
|
||||
"airgap-images-arm64-tar-gz": {
|
||||
"url": "https://github.com/k3s-io/k3s/releases/download/v1.37.0%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
|
||||
"sha256": "d1b534c7b5b67e06fdea2231813b3adc596ba36d7a63699fec1eb23e3c0baf17"
|
||||
},
|
||||
"airgap-images-arm64-tar-zst": {
|
||||
"url": "https://github.com/k3s-io/k3s/releases/download/v1.37.0%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
|
||||
"sha256": "b3bd28d3a20144927b25ebb1d255a16ce55bb050b9af5e63abd1bf91c0838fe5"
|
||||
}
|
||||
}
|
||||
21
pkgs/applications/networking/cluster/k3s/1_37/versions.nix
Normal file
21
pkgs/applications/networking/cluster/k3s/1_37/versions.nix
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
k3sVersion = "1.37.0+k3s1";
|
||||
k3sCommit = "bb7cf0657bafdfbb4349d1740810442d09c2248a";
|
||||
k3sRepoSha256 = "0glzg974w7f0jdaljr9bxw36qv53chii25rjbrvlbzlyzjq19wws";
|
||||
k3sVendorHash = "sha256-AObmRWcIyFDy1aTA66LLFYnnUQzpf6+Ts6HQRA3i26A=";
|
||||
chartVersions = import ./chart-versions.nix;
|
||||
imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
|
||||
k3sRootVersion = "0.15.2";
|
||||
k3sRootSha256 = "0yxq2jqqb7flm4rs9dl7fqxba3mmwkmjbc8rx7pgai4qa1lzyigy";
|
||||
k3sCNIVersion = "1.9.1-k3s1";
|
||||
k3sCNISha256 = "1ggaz0p1c2k94car9d89a05smz3zx32sxn197b1l5kmjcnzdwadh";
|
||||
containerdVersion = "2.3.4-k3s1";
|
||||
containerdSha256 = "18kci7drnlxkn4vk166jijavgwaml1vhlfqirhzljmb4g16ydrah";
|
||||
containerdPackage = "github.com/k3s-io/containerd/v2";
|
||||
criCtlVersion = "1.37.0-k3s1";
|
||||
flannelVersion = "v0.28.4";
|
||||
flannelPluginVersion = "v1.9.0-flannel1";
|
||||
kubeRouterVersion = "v2.6.3-k3s1";
|
||||
criDockerdVersion = "v0.3.19-k3s5";
|
||||
helmJobVersion = "v0.13.3-build20260727";
|
||||
}
|
||||
@@ -15,4 +15,5 @@ in
|
||||
k3s_1_34 = forVersions ./1_34/versions.nix;
|
||||
k3s_1_35 = forVersions ./1_35/versions.nix;
|
||||
k3s_1_36 = forVersions ./1_36/versions.nix;
|
||||
k3s_1_37 = forVersions ./1_37/versions.nix;
|
||||
}
|
||||
|
||||
@@ -54,13 +54,13 @@
|
||||
"vendorHash": "sha256-bJcVf4Yj70VwKn0p6RN+/dc5J+K6xFJcifVei9dK2bA="
|
||||
},
|
||||
"aminueza_minio": {
|
||||
"hash": "sha256-pw8QgjdU0c4w6ZUJLCy3zTEk0UTML1Mymh+UsmBAdrQ=",
|
||||
"hash": "sha256-MOc2DaH1uTb92emRNe/aS+Jsit8K+ZrldHBIMyYgeFU=",
|
||||
"homepage": "https://registry.terraform.io/providers/aminueza/minio",
|
||||
"owner": "aminueza",
|
||||
"repo": "terraform-provider-minio",
|
||||
"rev": "v3.41.1",
|
||||
"rev": "v3.43.0",
|
||||
"spdx": "AGPL-3.0",
|
||||
"vendorHash": "sha256-V9yH/dGXZJ85XVQAksL4QCRbhS9yrXy2tY8Jr+kKQdk="
|
||||
"vendorHash": "sha256-Sl2FaER384LiXNTBBEO96X65QHM204CC2ME2hYWLeX0="
|
||||
},
|
||||
"archessmn_powerdns": {
|
||||
"hash": "sha256-1bjQFu3k0ERBga94pQ8HZjbfu3qlxnMQLjSkDU6Vp/I=",
|
||||
@@ -209,13 +209,13 @@
|
||||
"vendorHash": "sha256-AB6VVC/I5E+CoHvdww38gXlHJ9yh4t5jV6ZrvDDTQeE="
|
||||
},
|
||||
"cloudamqp_cloudamqp": {
|
||||
"hash": "sha256-GMfBdLUqw/3WEtZfP6ShCEwheHeUa/1EDMzIuYGalvA=",
|
||||
"hash": "sha256-WD4ZIUTg8xGfxa4oqA7EGVwcggBzJK/MRchxdldypqU=",
|
||||
"homepage": "https://registry.terraform.io/providers/cloudamqp/cloudamqp",
|
||||
"owner": "cloudamqp",
|
||||
"repo": "terraform-provider-cloudamqp",
|
||||
"rev": "v1.48.0",
|
||||
"rev": "v1.49.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-hgi4CyYMNBmxAUc93uFc4J13nlgVOQNLYyLYz+rnWlM="
|
||||
"vendorHash": "sha256-scHNFyHn4VYm8wtuBdVCpgKCzwPhzrC3KBs1YHXPwos="
|
||||
},
|
||||
"cloudflare_cloudflare": {
|
||||
"hash": "sha256-o+p2QDCwzmhDJx1sUlFZVmZuvo0TiEM9JuLMxg6/B8Y=",
|
||||
@@ -292,13 +292,13 @@
|
||||
"vendorHash": "sha256-3o6YRDrq4rQhNAFyqiGJrAoxuAykWw85OExRGSE3kGI="
|
||||
},
|
||||
"datadog_datadog": {
|
||||
"hash": "sha256-Sq3gP01DrTm41fLTZvavNTNhMy7AfMcbxe+ac8omJIQ=",
|
||||
"hash": "sha256-a84guU5oeG+BwmPoPCyGZRBOB/dzaPCLwxKH3BYSj6A=",
|
||||
"homepage": "https://registry.terraform.io/providers/DataDog/datadog",
|
||||
"owner": "DataDog",
|
||||
"repo": "terraform-provider-datadog",
|
||||
"rev": "v4.20.0",
|
||||
"rev": "v4.21.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-PoM4C03Q8bAz1hqasx0SWYWEVW7dS7tCcI+tLE2MHLE="
|
||||
"vendorHash": "sha256-KBzkbWlFM0SB+YzVU4YIaJxvQlMHalPeKPvvHh4L2kw="
|
||||
},
|
||||
"datadrivers_nexus": {
|
||||
"hash": "sha256-t9hpZ4COmMPvs4TgcZLeuOA23oD5vvHw8UVK7SpzI0Y=",
|
||||
@@ -517,13 +517,13 @@
|
||||
"vendorHash": "sha256-ikBqIxD5aTOcwNHCMN6EaOwSHCAP5n/SULuqQXPLpOc="
|
||||
},
|
||||
"hashicorp_aws": {
|
||||
"hash": "sha256-qSGvtJqiViBdBZD6gMZSaUXbZNZmCBBb1kkKUjCK0YM=",
|
||||
"hash": "sha256-eawrzzPTN2ZmhH2pWWTf7LsxWleIFHaN5Lqr/tA76xk=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/aws",
|
||||
"owner": "hashicorp",
|
||||
"repo": "terraform-provider-aws",
|
||||
"rev": "v6.63.0",
|
||||
"rev": "v6.65.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-lrcDMPenGnTgKnrdL9oCk3Pg/WObKYqKxbLXqjWR7U4="
|
||||
"vendorHash": "sha256-qRX2liR1MQy8JuOuUknV70dibU4mgih3nJOy7/raBug="
|
||||
},
|
||||
"hashicorp_awscc": {
|
||||
"hash": "sha256-juctslCHuUr3pL9VTOET/s3P0SGbtlInZESmvgNL+7M=",
|
||||
@@ -670,13 +670,13 @@
|
||||
"vendorHash": "sha256-CwTlb0QTq0lpZK90IL6mBLoarFYFLsjiLYauGEaR1Rk="
|
||||
},
|
||||
"hashicorp_tfe": {
|
||||
"hash": "sha256-0cDJS89LsTuE2MJoNCnG8Xy7pJYisOggKrqQlK4OeAw=",
|
||||
"hash": "sha256-gEzX7Q/8OMNb3jOf7E9bph6qactFdZHmITr1l/I9kSc=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/tfe",
|
||||
"owner": "hashicorp",
|
||||
"repo": "terraform-provider-tfe",
|
||||
"rev": "v0.80.0",
|
||||
"rev": "v0.81.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-O+UMVIed8JEwjaXGTewOY6Vk+MopCQSx+qyMvJW7bkI="
|
||||
"vendorHash": "sha256-hfSLa5MrrQ0JFZntykbU33TQnuAoYYFasOzUOzi1RV8="
|
||||
},
|
||||
"hashicorp_time": {
|
||||
"hash": "sha256-kdCdph+H3fWizMh+7AGBEscKpCwP7naj+3NSmPK25Us=",
|
||||
@@ -724,13 +724,13 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"hetznercloud_hcloud": {
|
||||
"hash": "sha256-DekwCc3S4/rA15PnnP+FoU/SeOjb6PXVH+msLMcrzXQ=",
|
||||
"hash": "sha256-1NTtacz18YBa9WEpdkOHfkAe2K3ScVD7PtISlRtsPW0=",
|
||||
"homepage": "https://registry.terraform.io/providers/hetznercloud/hcloud",
|
||||
"owner": "hetznercloud",
|
||||
"repo": "terraform-provider-hcloud",
|
||||
"rev": "v1.68.0",
|
||||
"rev": "v1.69.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-s9tdthUzIdisP0XB9V+HGlWgZCXnOodz9Atu/XyDKf4="
|
||||
"vendorHash": "sha256-mUyCVzwl7YXfwu1NBMq91tAd9+wnHfwqgAqfzvOKjK8="
|
||||
},
|
||||
"huaweicloud_huaweicloud": {
|
||||
"hash": "sha256-r4SwNOQ2P9IdxAvPnIuJEolXfhI/GKSPUZ+yjBS7pKA=",
|
||||
@@ -1328,11 +1328,11 @@
|
||||
"vendorHash": "sha256-t799EW0oXtzzHVjbOv5dPQ5V070wg7Y8MZohQ1O70Pk="
|
||||
},
|
||||
"tencentcloudstack_tencentcloud": {
|
||||
"hash": "sha256-nuzKpMtJT0y4OuSvYTKbAs1+FYTpnXnWYI9oEzdt1BM=",
|
||||
"hash": "sha256-tsqcbnHL1U6zJE+hyFV1ycJIN2+i9zD2EKGms5kAuoQ=",
|
||||
"homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud",
|
||||
"owner": "tencentcloudstack",
|
||||
"repo": "terraform-provider-tencentcloud",
|
||||
"rev": "v1.83.29",
|
||||
"rev": "v1.83.32",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
@@ -1436,11 +1436,11 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"vancluever_acme": {
|
||||
"hash": "sha256-t5vN18z7gjF4oxD31oGn8ZPoNCypxQJemDOxFFAVfXs=",
|
||||
"hash": "sha256-9ODFjrawdF0XtmCjfelwSP+10RsYQMjTB2BBqracnos=",
|
||||
"homepage": "https://registry.terraform.io/providers/vancluever/acme",
|
||||
"owner": "vancluever",
|
||||
"repo": "terraform-provider-acme",
|
||||
"rev": "v3.1.0",
|
||||
"rev": "v3.1.2",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-ZeO1E/9F9rco4p++pjzjiVWPCYQXdPeHWdtghZP6irY="
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -17,13 +17,13 @@ in
|
||||
buildKodiAddon rec {
|
||||
pname = "jellyfin";
|
||||
namespace = "plugin.video.jellyfin";
|
||||
version = "2.1.0";
|
||||
version = "2.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jellyfin";
|
||||
repo = "jellyfin-kodi";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-S5LAIeYwApyGPsj999rotFgfAZmLxnJjuJD8CE4QDro=";
|
||||
sha256 = "sha256-TWDhCOe4EO2HJ/Px+en2++YWniiw4Y+vU3sQtxOvT8U=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python ];
|
||||
|
||||
@@ -9,14 +9,14 @@ let
|
||||
callPackage
|
||||
(import ./generic.nix rec {
|
||||
pname = "apptainer";
|
||||
version = "1.5.0";
|
||||
version = "1.5.1";
|
||||
projectName = "apptainer";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "apptainer";
|
||||
repo = "apptainer";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-zx3NPuwz3ZNJeYw4CG1/q8uwbGpA7G1/hvw6VmoCNkg=";
|
||||
hash = "sha256-Urohgxo9Wbh8GieJOfstRHr4CEmepPbMJKndEFsT50Y=";
|
||||
};
|
||||
|
||||
# Override vendorHash with overrideAttrs.
|
||||
|
||||
@@ -72,9 +72,9 @@ let
|
||||
buildType = "release";
|
||||
# Use maintainers/scripts/update.nix to update the version and all related hashes or
|
||||
# change the hashes in extpack.nix and guest-additions/default.nix as well manually.
|
||||
virtualboxVersion = "7.2.16";
|
||||
virtualboxVersion = "7.2.18";
|
||||
virtualboxSubVersion = "";
|
||||
virtualboxSha256 = "50356ccdaefe8f03537600ec31898b506e3a85ce79b94f26fb6cc1920c9e18eb";
|
||||
virtualboxSha256 = "06db4060caadc70346335c0a731ca6667cdabf206de289c64f3f96f2d341b9d0";
|
||||
|
||||
kvmPatchVboxVersion = "7.2.6";
|
||||
kvmPatchVersion = "20260201";
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
}:
|
||||
fetchurl rec {
|
||||
pname = "virtualbox-extpack";
|
||||
version = "7.2.16";
|
||||
version = "7.2.18";
|
||||
name = "Oracle_VirtualBox_Extension_Pack-${version}.vbox-extpack";
|
||||
url = "https://download.virtualbox.org/virtualbox/${version}/${name}";
|
||||
sha256 =
|
||||
@@ -13,7 +13,7 @@ fetchurl rec {
|
||||
# Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`.
|
||||
# Checksums can also be found at https://download.virtualbox.org/virtualbox/${version}/SHA256SUMS
|
||||
let
|
||||
value = "d1e268cfa05223fd651703043af09f39dfb90da259ce9ec093d9d9b022f19689";
|
||||
value = "e06834239947db06cc077d464bbb15d6441917ca03573e518506344dc28b64b9";
|
||||
in
|
||||
assert (builtins.stringLength value) == 64;
|
||||
value;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
}:
|
||||
fetchurl {
|
||||
url = "http://download.virtualbox.org/virtualbox/${virtualboxVersion}/VBoxGuestAdditions_${virtualboxVersion}.iso";
|
||||
sha256 = "c9349c0231d81c821fc1de7b9592bf07bb7c3f111c3f942ddddc211496ef7a3e";
|
||||
sha256 = "346ea2b9ed47bb954464af83835b14bd8afa5fc1864f34e2561ed923fb74981c";
|
||||
meta = {
|
||||
description = "Guest additions ISO for VirtualBox";
|
||||
longDescription = ''
|
||||
|
||||
@@ -18,9 +18,9 @@
|
||||
libx11,
|
||||
}:
|
||||
let
|
||||
virtualboxVersion = "7.2.16";
|
||||
virtualboxVersion = "7.2.18";
|
||||
virtualboxSubVersion = "";
|
||||
virtualboxSha256 = "50356ccdaefe8f03537600ec31898b506e3a85ce79b94f26fb6cc1920c9e18eb";
|
||||
virtualboxSha256 = "06db4060caadc70346335c0a731ca6667cdabf206de289c64f3f96f2d341b9d0";
|
||||
|
||||
platform =
|
||||
if stdenv.hostPlatform.isAarch64 then
|
||||
@@ -98,7 +98,9 @@ stdenv.mkDerivation {
|
||||
|
||||
# https://github.com/VirtualBox/virtualbox/issues/812
|
||||
postPatch = ''
|
||||
substituteInPlace ./src/vboxguest-${virtualboxVersion}_NixOS/vboxvideo/vbox_fb.c --replace-fail "RTLNX_VER_MIN(6,19,0)" "RTLNX_VER_RANGE(6,6,152, 6,6,999) || RTLNX_VER_RANGE(6,12,103, 6,12,999) || RTLNX_VER_RANGE(6,18,44, 6,18,999) || RTLNX_VER_MIN(6,19,0)"
|
||||
substituteInPlace ./src/vboxguest-${virtualboxVersion}_NixOS/vboxvideo/vbox_fb.c \
|
||||
--replace-fail "RTLNX_VER_MIN(6,19,0) || RTLNX_VER_RANGE(6,12,103, 6,13,0)" \
|
||||
"RTLNX_VER_MIN(6,19,0) || RTLNX_VER_RANGE(6,12,103, 6,13,0) || RTLNX_VER_RANGE(6,6,152, 6,6,999) || RTLNX_VER_RANGE(6,18,44, 6,18,999)"
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.3.3";
|
||||
version = "0.3.4";
|
||||
|
||||
archMap = {
|
||||
"x86_64-linux" = "x86_64";
|
||||
@@ -16,7 +16,7 @@ let
|
||||
or (throw "Unsupported architecture: ${stdenv.hostPlatform.system}");
|
||||
|
||||
shimHashes = {
|
||||
"x86_64" = "sha256-8WvuQgWTJNe4UpmS6uSYDYm46sIqxJbwVZ/J3CRz0OI=";
|
||||
"x86_64" = "sha256-7PLMiY2Aqx33IsdMMtZd2WLsErWLZTAYV+5TcED0pUU=";
|
||||
"aarch64" = "sha256-4RvFbxJGwM70huziY2ELoCouTrtMasgoqFUncBeBFvU=";
|
||||
};
|
||||
in
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
let
|
||||
pnpm = pnpm_11;
|
||||
|
||||
version = "0.37.1";
|
||||
version = "0.38.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vercel-labs";
|
||||
repo = "agent-browser";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-AgpKazIBT3CKd4Q7yQsEGhoTW+7R0Pflma6aH+6UI/U=";
|
||||
hash = "sha256-C+XplCHOdFDQGPUnrCDuq7U4LkAX0QB3fC4uVA8o11w=";
|
||||
};
|
||||
|
||||
# The Rust CLI embeds the dashboard UI via RustEmbed at compile time.
|
||||
@@ -83,7 +83,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/cli";
|
||||
|
||||
cargoHash = "sha256-ziN4UMeEcgsD5BDXWjffreGjyew7oTUtq59b/Um8Dfk=";
|
||||
cargoHash = "sha256-Ei26Iz0qMqayucULLCSwN+fjw0VJ3S2L2A4vGhfYGqI=";
|
||||
|
||||
# Place the pre-built dashboard where RustEmbed expects it
|
||||
postUnpack = ''
|
||||
|
||||
@@ -23,11 +23,11 @@ stdenvNoCC.mkDerivation (
|
||||
sources = {
|
||||
aarch64-darwin = {
|
||||
name = "Aptakube_${finalAttrs.version}_universal.dmg";
|
||||
hash = "sha256-HMLxQnZsXRUjR/O0OEVfvKVTZyy9X9/3OZ6j1yWyIKA=";
|
||||
hash = "sha256-wDfb2B5KMIkQcwO9JkX2b5FpgzJaUSKZTFQCqRkfLls=";
|
||||
};
|
||||
x86_64-linux = {
|
||||
name = "aptakube_${finalAttrs.version}_amd64.deb";
|
||||
hash = "sha256-IFLft9ee9jxTq4xzvFVX45u2x5QCLxAtKfLgbIOMsF8=";
|
||||
hash = "sha256-HDbRWTNFX2V0kgeFIZPLNLRTRxx/eETQiyLD1Yf6YYg=";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -42,7 +42,7 @@ stdenvNoCC.mkDerivation (
|
||||
in
|
||||
{
|
||||
pname = "aptakube";
|
||||
version = "1.19.6";
|
||||
version = "1.20.4";
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
}:
|
||||
let
|
||||
pname = "artisan";
|
||||
version = "4.0.2";
|
||||
version = "4.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/artisan-roaster-scope/artisan/releases/download/v${version}/${pname}-linux-${version}.AppImage";
|
||||
hash = "sha256-KmjqM3gYpxxjEBaXjF5zvL8bgfgD8IKvAX0xYf29J48=";
|
||||
hash = "sha256-4vhdx97Y8ntj4HU2T/pHq/ZgioeY0yi+ydVcDFrHRrQ=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extract {
|
||||
@@ -26,7 +26,7 @@ appimageTools.wrapType2 {
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
extraArgs = [ "--version-regex=v([\\d.]+)" ];
|
||||
extraArgs = [ "--version-regex=v([\\d.]+)$" ];
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -17,10 +17,10 @@ let
|
||||
ffmpeg-full = ffmpeg_8-full;
|
||||
|
||||
source = {
|
||||
version = "2.36.0";
|
||||
hash = "sha256-oohjRiKARpIyoPFEXR24nlKK4xBBEHUMVTaq/i6NfV8=";
|
||||
npmDepsHash = "sha256-uDIL9PxbFUa3MwLoPomTfq1A/R1ewDIv+EFWml/8uy8=";
|
||||
clientNpmDepsHash = "sha256-0xqqpls8FLuXngjjdwjoNLpq9dSixWouROviTjsFCbU=";
|
||||
version = "2.36.1";
|
||||
hash = "sha256-HBaTTfZEbhR2n/XafScZB/gX29erTQHZ+IdErwhA11A=";
|
||||
npmDepsHash = "sha256-kp0LbSKaHTBppeyfLAFrGYnSWS3V2trO5yaZWoxVPo8=";
|
||||
clientNpmDepsHash = "sha256-g3Y/4UU2YH/CeU8Z/NNkLP0OTeBM+4/rQfL406uVdio=";
|
||||
};
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
||||
@@ -96,6 +96,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
maintainers = with lib.maintainers; [ sheepforce ];
|
||||
homepage = "https://github.com/OpenChemistry/avogadrolibs";
|
||||
platforms = lib.platforms.linux;
|
||||
license = lib.licenses.gpl2Only;
|
||||
license = lib.licenses.bsd3;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -6,21 +6,23 @@
|
||||
python3,
|
||||
bzip2,
|
||||
xz,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "bedtools";
|
||||
version = "2.31.1";
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "arq5x";
|
||||
repo = "bedtools2";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-rrk+FSv1bGL0D1lrIOsQu2AT7cw2T4lkDiCnzil5fpg=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-rrk+FSv1bGL0D1lrIOsQu2AT7cw2T4lkDiCnzil5fpg=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3
|
||||
];
|
||||
@@ -31,16 +33,28 @@ stdenv.mkDerivation rec {
|
||||
xz
|
||||
];
|
||||
|
||||
cxx = if stdenv.cc.isClang then "clang++" else "g++";
|
||||
cc = if stdenv.cc.isClang then "clang" else "gcc";
|
||||
buildPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cxx} CC=${cc} -j $NIX_BUILD_CORES";
|
||||
installPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cxx} CC=${cc} install";
|
||||
enableParallelBuilding = true;
|
||||
|
||||
makeFlags = [
|
||||
"prefix=${placeholder "out"}"
|
||||
# The Makefiles hardcode `CC = gcc` and `CXX = g++`.
|
||||
"CC=${stdenv.cc.targetPrefix}cc"
|
||||
"CXX=${stdenv.cc.targetPrefix}c++"
|
||||
];
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
doInstallCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "Powerful toolset for genome arithmetic";
|
||||
license = lib.licenses.gpl2;
|
||||
homepage = "https://bedtools.readthedocs.io/en/latest/";
|
||||
downloadPage = "https://github.com/arq5x/bedtools2";
|
||||
changelog = "https://github.com/arq5x/bedtools2/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "bedtools";
|
||||
maintainers = with lib.maintainers; [ jbedo ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -30,11 +30,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "bind";
|
||||
version = "9.20.26";
|
||||
version = "9.20.29";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.isc.org/isc/bind9/${finalAttrs.version}/bind-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-VSSN7w+HDExGs95yl46pcmFRMVFmYxiKRWTcodIL81A=";
|
||||
hash = "sha256-WHApUIs7G0Min65BbJflVDq6RYCc76ypilAEoCpXNsE=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
@@ -121,6 +121,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
preCheck = ''
|
||||
# skip timezone-related tests, they are flaky inside the nix sandbox
|
||||
sed -i '/^ISC_TEST_ENTRY(isc_time_formatISO8601L/d' tests/isc/time_test.c
|
||||
sed -i '/^ISC_TEST_ENTRY(isc_time_formattimestamp_test/d' tests/isc/time_test.c
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isRiscV64 ''
|
||||
# lock benchmarks exceed the 300s test watchdog on slower hardware
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "blesh";
|
||||
version = "0.4.0-devel3-unstable-2026-09-05";
|
||||
version = "0.4.0-devel3-unstable-2026-09-08";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "akinomyoga";
|
||||
repo = "ble.sh";
|
||||
rev = "69ee0587208881d18adc8a63028f714ab81ad94f";
|
||||
rev = "d81fd54feb0d996fdff20dca27eaf0201f7015cc";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-Hmh/gBPtJEAuUq5K5EYK+QrH4gTr+Y1MNsVmS/IraRY=";
|
||||
hash = "sha256-meKnNtepyOXfVGq351AoCML/vcgML79R3HW2Tf9rIuk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -12,16 +12,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "bootdev-cli";
|
||||
version = "1.32.3";
|
||||
version = "1.32.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bootdotdev";
|
||||
repo = "bootdev";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-6IwqKV/PWy+QMfHcDmhHvKUo9so5EECXgCrA4hg4oSs=";
|
||||
hash = "sha256-MWK/1hscAky6ampB4n8NQTVchDT0EADRtub+8sgAYXg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ZDioEU5uPCkd+kC83cLlpgzyOsnpj2S7N+lQgsQb8uY=";
|
||||
vendorHash = "sha256-LCvJDsg4MANhQ0V/ymP1heCN5rFNgeOYCYILsPdXYag=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -124,6 +124,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/apache/buildstream/blob/${finalAttrs.src.tag}/NEWS";
|
||||
description = "Powerful software integration tool";
|
||||
downloadPage = "https://buildstream.build/install.html";
|
||||
homepage = "https://buildstream.build";
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "camunda-modeler";
|
||||
version = "5.51.0";
|
||||
version = "5.51.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/camunda/camunda-modeler/releases/download/v${version}/camunda-modeler-${version}-linux-x64.tar.gz";
|
||||
hash = "sha256-Gofx/Spa9zZf9805uCvWOKVMBNb29sXGl+iYsEfNhH8=";
|
||||
hash = "sha256-JzrLhC6zQhKNRgMQYcyrt7vdrt7QQtCCg/8GoqV1hco=";
|
||||
};
|
||||
sourceRoot = "camunda-modeler-${version}-linux-x64";
|
||||
|
||||
|
||||
@@ -2,41 +2,41 @@
|
||||
lib,
|
||||
python3,
|
||||
fetchFromGitLab,
|
||||
fetchpatch2,
|
||||
fetchFromGitHub,
|
||||
openldap,
|
||||
nixosTests,
|
||||
postgresql,
|
||||
}:
|
||||
|
||||
let
|
||||
python = python3;
|
||||
python = python3.override {
|
||||
self = python;
|
||||
packageOverrides = _final: prev: {
|
||||
# TODO remove when wtforms has a 3.3 stable release
|
||||
wtforms = prev.wtforms.overridePythonAttrs (_old: rec {
|
||||
version = "3.3.0b3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "wtforms";
|
||||
repo = "wtforms";
|
||||
tag = version;
|
||||
hash = "sha256-h+rzhFPN+N4Jxs9lugvWqNy2eXkXtSCpMW3wp2KgrFk=";
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
in
|
||||
python.pkgs.buildPythonApplication rec {
|
||||
python.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "canaille";
|
||||
version = "0.2.7";
|
||||
version = "0.3.6";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "yaal";
|
||||
repo = "canaille";
|
||||
tag = version;
|
||||
hash = "sha256-hreEjMrD6mRapgrSDPRWcmqfLxfsOpK7dC8lHJkAY7Y=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-Zn1MZa4TYNfdVrDmi6KHQxrdK9UfRxYqJpCXVbqnvII=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Backport authlib 1.7 compatibility.
|
||||
(fetchpatch2 {
|
||||
url = "https://gitlab.com/yaal/canaille/-/commit/b356baa82109a7fdf61a8258572d199ffd3c9604.diff";
|
||||
hash = "sha256-/U6S3h6qIl763ZsGpOm6CVk4NaY3A7mq3PkT193aLEs=";
|
||||
})
|
||||
# Update OIDC tests for authlib 1.7 behavior.
|
||||
(fetchpatch2 {
|
||||
url = "https://gitlab.com/yaal/canaille/-/commit/c1b6d103ebf374cd6a21d9af8376c910c2d0d5d9.diff";
|
||||
hash = "sha256-MjwkUb54ikt1+xUXBTOIBi9E+DmPdwYhw0W0c0prF/Q=";
|
||||
includes = [ "tests/oidc/*" ];
|
||||
})
|
||||
];
|
||||
|
||||
build-system = with python.pkgs; [
|
||||
hatchling
|
||||
babel
|
||||
@@ -79,7 +79,7 @@ python.pkgs.buildPythonApplication rec {
|
||||
time-machine
|
||||
pytest-scim2-server
|
||||
]
|
||||
++ (lib.concatLists (builtins.attrValues optional-dependencies));
|
||||
++ (lib.concatLists (builtins.attrValues finalAttrs.passthru.optional-dependencies));
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/etc/schema
|
||||
@@ -115,14 +115,13 @@ python.pkgs.buildPythonApplication rec {
|
||||
flask-talisman
|
||||
flask-themer
|
||||
isodate
|
||||
pycountry
|
||||
pytz
|
||||
tomlkit
|
||||
zxcvbn-rs-py
|
||||
];
|
||||
oidc = [
|
||||
authlib
|
||||
joserfc
|
||||
tomlkit
|
||||
];
|
||||
scim = [
|
||||
authlib
|
||||
@@ -172,11 +171,11 @@ python.pkgs.buildPythonApplication rec {
|
||||
meta = {
|
||||
description = "Lightweight Identity and Authorization Management";
|
||||
homepage = "https://canaille.readthedocs.io/en/latest/index.html";
|
||||
changelog = "https://gitlab.com/yaal/canaille/-/blob/${src.tag}/CHANGES.rst";
|
||||
changelog = "https://gitlab.com/yaal/canaille/-/blob/${finalAttrs.src.tag}/CHANGES.rst";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ erictapen ];
|
||||
mainProgram = "canaille";
|
||||
};
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cargo-codspeed";
|
||||
version = "5.0.1";
|
||||
version = "5.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CodSpeedHQ";
|
||||
repo = "codspeed-rust";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Zu5PltGimy+8JYTEh8fTflW/L4zTW94IKgldT5kzPjA=";
|
||||
hash = "sha256-RX+2jjEPBIKG3KR15MjXa9GvQGAKD30aGRGcHPLGTq4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-hihwHbyNAJcl/mUy9obh2UDZfUA9Lq64c1TRZbUr+L0=";
|
||||
cargoHash = "sha256-qiLUKzaVjHQNmjhT728/fldsuUHNW2G0TcgAQsJobqc=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
curl
|
||||
|
||||
@@ -13,16 +13,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cargo-release";
|
||||
version = "1.1.5";
|
||||
version = "1.1.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "crate-ci";
|
||||
repo = "cargo-release";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ukzR9VAbrvI+r01D7vCXeBouQeamCtEnKmBg8kKGRpg=";
|
||||
hash = "sha256-w+7kvJQBlb40W+vRAXmySOaL513501fj25PkWI8lQTw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-E+ZhFMfASA6rP4E/+hbZihe0Rzf7RRe3I+W+wj389bo=";
|
||||
cargoHash = "sha256-rU8HQBrK/0aRCz5hvUQCMxRCbP2N98S+0gvVNqkap7s=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
pkg-config,
|
||||
openssl,
|
||||
nix-update-script,
|
||||
stdenv, # for meta.broken
|
||||
}:
|
||||
let
|
||||
# That is from cargoDeps/risc0-circuit-recursion/build.rs
|
||||
@@ -44,6 +45,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
# last successful hydra build on darwin was in 2024
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
description = "Cargo extension to help create, manage, and test RISC Zero projects";
|
||||
mainProgram = "cargo-risczero";
|
||||
homepage = "https://risczero.com";
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cargo-temp";
|
||||
version = "0.4.1";
|
||||
version = "0.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yozhgoor";
|
||||
repo = "cargo-temp";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-5GTsVqQOS0HL2q++t4ms9srFx1t1DJkdyUx150H6CT0=";
|
||||
hash = "sha256-ILkv6axwyOneJAD/gvO24vh1J1F8XtwZzmsx6WU7DJQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-wiFEsnBHFaQH7WyJv5FEEWXPiRfFFWm8NUjd0ea05Ko=";
|
||||
cargoHash = "sha256-ziHwGU2+qENsm/UuT9ZxzPVonwn8ldG8o+iWDaZIfw0=";
|
||||
|
||||
meta = {
|
||||
description = "CLI tool that allow you to create a temporary new Rust project using cargo with already installed dependencies";
|
||||
|
||||
@@ -61,6 +61,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
};
|
||||
|
||||
meta = {
|
||||
# last successful hydra build on darwin was in 2024
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
description = "GUI for Cargo";
|
||||
mainProgram = "cargo-ui";
|
||||
homepage = "https://github.com/slint-ui/cargo-ui";
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "checkpwn";
|
||||
version = "0.6.1";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit (finalAttrs) pname version;
|
||||
hash = "sha256-jQEg6wDZl2ar/KzhSPPpBRQ3JNThXk7j/zTbqeY6L58=";
|
||||
hash = "sha256-QofPCfdOurEBGY1mwj5pQXtWA0+EJaEsjnHCXFjW1L8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-R7IGqZrnF/dsl94fuB4Z2hLdPozCWUZTCryFuSW89FQ=";
|
||||
cargoHash = "sha256-U5EXX8EzZC3uJ0cWzB5dT9sGDqIc9GsAbstts9PtjQ0=";
|
||||
|
||||
# requires internet access
|
||||
checkFlags = [
|
||||
|
||||
@@ -9,17 +9,17 @@
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "chroncal";
|
||||
version = "0.9.1";
|
||||
version = "0.10.0";
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "DouglasdeMoura";
|
||||
repo = "chroncal";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-NQe73JFIp2rWPPKzyloIJGsZ2m6kaGEaqPaO5Z+vUmY=";
|
||||
hash = "sha256-2ra4P5wo1wlB1+7IK8z7bZ4mkI949dV3ADKWWDzbpII=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-kWFZOjqpNH9VEOCFdRVXd47wpn/EMUVIZwFJFtICRlE=";
|
||||
vendorHash = "sha256-6i48BSXh1gRvrU9Hd0myPDLf783Rl4k3n6DwcAO1Y2Y=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
writableTmpDirAsHomeHook # multiple tests need a writable $HOME for the database
|
||||
|
||||
@@ -4,6 +4,12 @@
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
cmake,
|
||||
zlib,
|
||||
versionCheckHook,
|
||||
|
||||
withZlib ? false,
|
||||
withUnixSockets ? false,
|
||||
withWebSockets ? false,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -32,11 +38,18 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
versionCheckProgramArg = "-I";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
];
|
||||
|
||||
buildInputs = lib.optional withZlib zlib;
|
||||
|
||||
# The existence of the "build" script causes `mkdir -p build` to fail:
|
||||
# mkdir: cannot create directory 'build': File exists
|
||||
preConfigure = ''
|
||||
@@ -60,12 +73,22 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
# Workaround CMake 4 compat
|
||||
(lib.cmakeFeature "CMAKE_POLICY_VERSION_MINIMUM" "3.5")
|
||||
];
|
||||
|
||||
(lib.cmakeBool "CIVETWEB_ENABLE_WEBSOCKETS" withWebSockets)
|
||||
|
||||
(lib.cmakeBool "CIVETWEB_ENABLE_ZLIB" withZlib)
|
||||
]
|
||||
|
||||
# Support for listening for HTTP requests on a Unix domain socket.
|
||||
++ lib.optional withUnixSockets "-DCMAKE_C_FLAGS=-DUSE_X_DOM_SOCKET";
|
||||
# NOTE Once 1.17 is released, we can use a CMake flag:
|
||||
# (lib.cmakeBool "CIVETWEB_ENABLE_X_DOM_SOCKET" withUnixSockets)
|
||||
|
||||
meta = {
|
||||
description = "Embedded C/C++ web server";
|
||||
mainProgram = "civetweb";
|
||||
homepage = "https://github.com/civetweb/civetweb";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ jlesquembre ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "claude-agent-acp";
|
||||
version = "0.75.1";
|
||||
version = "0.79.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "agentclientprotocol";
|
||||
repo = "claude-agent-acp";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-LEubm7Ck22olYsP+l9tis9Qcw77fpy7gBT42P/Aj+KY=";
|
||||
hash = "sha256-Xezx6CM44czWrfJ/1LyJkMXV33ufIfYKtNL7qeQCths=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-78vx17sJlklHPq98gZxgQFB6BFGp0uGrcpj7tv978qg=";
|
||||
npmDepsHash = "sha256-d0UpoVGVC3q0jhgOAvGLqxul1J8ZO1bTwXprWg+FKc4=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
|
||||
@@ -52,6 +52,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
env.CXXFLAGS = "-std=c++98";
|
||||
|
||||
meta = {
|
||||
# last successful hydra build on darwin was in 2024
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
description = "Library containing FFT functions written in OpenCL";
|
||||
longDescription = ''
|
||||
clFFT is a software library containing FFT functions written in OpenCL.
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "cocoon";
|
||||
version = "0.11.1";
|
||||
version = "0.11.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "haileyok";
|
||||
repo = "cocoon";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Iq+BLljHbJFKVNYkLN1emTvMSPR660iysptFeMqKfEI=";
|
||||
hash = "sha256-+Qpv8cZmAkhIZFM4fCT4oXBYHlXzqFDRMRErjjZG67A=";
|
||||
};
|
||||
|
||||
ldflags = [
|
||||
@@ -23,7 +23,7 @@ buildGoModule (finalAttrs: {
|
||||
"-X main.Version=${finalAttrs.version}"
|
||||
];
|
||||
|
||||
vendorHash = "sha256-Vkf5XyJA/Vdufa1OpCzgIGSQa5pVsFCTfaAVI7l947E=";
|
||||
vendorHash = "sha256-BFnZlUT4/jVdTC7bccKXLa9KiHaUM11J76DcFuBI7Ts=";
|
||||
|
||||
passthru = {
|
||||
tests = lib.optionalAttrs stdenvNoCC.hostPlatform.isLinux { inherit (nixosTests) cocoon; };
|
||||
|
||||
@@ -191,6 +191,11 @@ stdenv'.mkDerivation (finalAttrs: {
|
||||
"*GPU*"
|
||||
"*OpenGL*"
|
||||
]
|
||||
++ lib.optionals stdenv'.hostPlatform.isAarch64 [
|
||||
# least_absolute_deviations_test.cc:311: Failure
|
||||
# Value of: solver.Valid(), Actual: true, Expected: false
|
||||
"*ParameterizedLeastAbsoluteDeviationsTests.RidgeRegularization/0"
|
||||
]
|
||||
++ lib.optionals stdenv'.hostPlatform.isDarwin [
|
||||
# reconstruction_pruning_test.cc:65: Failure
|
||||
# Expected: (redundant_point3D_ids.size()) > (prev_num_redundant_points3D), actual: 0 vs 0
|
||||
|
||||
@@ -38,18 +38,18 @@ let
|
||||
|
||||
# Update mapRev based on v field and mapSeries near the top in https://codeberg.org/comaps/comaps/src/branch/main/data/countries.txt
|
||||
mapSeries = "2026.06.28";
|
||||
mapRev = 260714;
|
||||
mapRev = 260830;
|
||||
|
||||
worldMap = fetchurl {
|
||||
name = "World-${mapSeries}-${toString mapRev}.mwm";
|
||||
url = "https://mapgen-fi-1.comaps.app/maps/${mapSeries}/${toString mapRev}/World.mwm";
|
||||
hash = "sha256-+EttNsix+9bB0/eOsPaxtZEfPDqQrj8qfZg2qDaLFVc=";
|
||||
hash = "sha256-TcaGJK8xAkceA7wFsCrYt6euOnts0w7LZCKLFPnU3wM=";
|
||||
};
|
||||
|
||||
worldCoasts = fetchurl {
|
||||
name = "WorldCoasts-${mapSeries}-${toString mapRev}.mwm";
|
||||
url = "https://mapgen-fi-1.comaps.app/maps/${mapSeries}/${toString mapRev}/WorldCoasts.mwm";
|
||||
hash = "sha256-MsXFqnoyQQTTJR1f8ihiqzCYuuRAVbRpoXfPPkVFa1E=";
|
||||
hash = "sha256-pNb0cLGRN6YkliraL+DZyAPh+JJSM6vTzoejeKvi/oc=";
|
||||
};
|
||||
|
||||
pythonEnv = python3.withPackages (
|
||||
@@ -60,7 +60,7 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "comaps";
|
||||
version = "2026.08.07-3";
|
||||
version = "2026.08.31-14";
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
@@ -69,7 +69,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "comaps";
|
||||
repo = "comaps";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ft7VYIMdg8IOl4gfm7Zg5EQjli0YDGuepwP1X9w2Sos=";
|
||||
hash = "sha256-mnLvDuXCi7guw0vU3TnqmvvgB1l7mN/AKwtF/79LGd4=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "cpak";
|
||||
version = "2.12.7";
|
||||
version = "2.13.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Containerpak";
|
||||
repo = "cpak";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-bISKyH1+Yr1EBzZYIK0xpe0jmBiWtCnByz4Ng01QJCI=";
|
||||
hash = "sha256-hGDiywyYZV0o8nUZgw6YqUmN33uFzXHIxkDvlY+tiyU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-cgqb2AY06Ru+JJIK7vyaLSPyjJqiLvNytvSQCgDOASc=";
|
||||
|
||||
52
pkgs/by-name/cs/csol/package.nix
Normal file
52
pkgs/by-name/cs/csol/package.nix
Normal file
@@ -0,0 +1,52 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
cmake,
|
||||
ncurses,
|
||||
fetchFromGitHub,
|
||||
makeWrapper,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "csol";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nielssp";
|
||||
repo = "csol";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-EWQL63xE6Z7npXH5ht5KYtQaPrDwuPe2ZhmHrvYIAu8=";
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
patches = [ ./replace-etc-path.patch ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
makeWrapper
|
||||
];
|
||||
buildInputs = [ ncurses ];
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/csol \
|
||||
--add-flags "-c $out/etc/xdg/csol/csolrc"
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
|
||||
];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
meta = {
|
||||
description = "A small collection of solitaire/patience games (Klondike, FreeCell, Spider, Yukon, etc.) to play in the terminal";
|
||||
license = lib.licenses.mit;
|
||||
homepage = "https://nielssp.dk/csol";
|
||||
changelog = "https://github.com/nielssp/csol/releases/tag/v${finalAttrs.version}";
|
||||
maintainers = with lib.maintainers; [ gimura ];
|
||||
mainProgram = "csol";
|
||||
};
|
||||
})
|
||||
15
pkgs/by-name/cs/csol/replace-etc-path.patch
Normal file
15
pkgs/by-name/cs/csol/replace-etc-path.patch
Normal file
@@ -0,0 +1,15 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 6c17703..70896f7 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -21,7 +21,7 @@ add_executable(csol ${SRC_LIST} csolrc)
|
||||
target_link_libraries(csol ${CURSES_LIBRARIES})
|
||||
|
||||
install(TARGETS csol DESTINATION bin COMPONENT binaries)
|
||||
-install(FILES "${CMAKE_BINARY_DIR}/csolrc" DESTINATION /etc/xdg/csol COMPONENT config)
|
||||
-install(DIRECTORY "${CMAKE_BINARY_DIR}/themes" DESTINATION /etc/xdg/csol COMPONENT config)
|
||||
-install(DIRECTORY "${CMAKE_BINARY_DIR}/games" DESTINATION /etc/xdg/csol COMPONENT config)
|
||||
+install(FILES "${CMAKE_BINARY_DIR}/csolrc" DESTINATION etc/xdg/csol COMPONENT config)
|
||||
+install(DIRECTORY "${CMAKE_BINARY_DIR}/themes" DESTINATION etc/xdg/csol COMPONENT config)
|
||||
+install(DIRECTORY "${CMAKE_BINARY_DIR}/games" DESTINATION etc/xdg/csol COMPONENT config)
|
||||
install(FILES "${PROJECT_SOURCE_DIR}/doc/csol.6" DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man6)
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
installAgentSkills,
|
||||
makeWrapper,
|
||||
nix-update-script,
|
||||
versionCheckHook,
|
||||
@@ -33,8 +34,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pnpm
|
||||
pnpmConfigHook
|
||||
makeWrapper
|
||||
installAgentSkills
|
||||
];
|
||||
|
||||
# the monorepo vendors the same skills for many agents and packages
|
||||
dontInstallAgentSkills = true;
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
@@ -64,7 +69,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
makeWrapper ${nodejs}/bin/node $out/bin/ctx7 \
|
||||
--add-flags "$out/lib/ctx7/dist/index.js"
|
||||
|
||||
cp -R $src/{plugins,rules,skills} $out
|
||||
cp -R $src/{plugins,rules} $out
|
||||
installSkill skills/context7-cli
|
||||
installSkill skills/find-docs
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cvc5";
|
||||
version = "1.3.4";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cvc5";
|
||||
repo = "cvc5";
|
||||
tag = "cvc5-${finalAttrs.version}";
|
||||
hash = "sha256-PZcOArSTyJzyd2DKT8K0aFC4RlVXgTCnkoU0f08KPfY=";
|
||||
hash = "sha256-QBDOGWGPoVEaf0j4Ug4jdqntUKpHCObLxKGX7KZR9VI=";
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "cyclonedx-python";
|
||||
version = "7.3.1";
|
||||
version = "7.4.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CycloneDX";
|
||||
repo = "cyclonedx-python";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-BBnWnxhi7vDfzdFdimncy8u3djW2K3TooYxNBnAkEf8=";
|
||||
hash = "sha256-tyYMofGXtnk0tAaryhdcSaZxi8LDVJmuUMGeO6v0zdg=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [ poetry-core ];
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
--- a/dbc.pc.in
|
||||
+++ b/dbc.pc.in
|
||||
@@ -1,7 +1,7 @@
|
||||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
exec_prefix=${prefix}
|
||||
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
||||
-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
|
||||
Name: @PROJECT_NAME@
|
||||
Description: @CPACK_PACKAGE_DESCRIPTION_SUMMARY@
|
||||
@@ -0,0 +1,29 @@
|
||||
--- a/test/test_parse_message.cpp
|
||||
+++ b/test/test_parse_message.cpp
|
||||
@@ -50,7 +50,7 @@ TEST_CASE("Parse Message Big Number not aligned little endian") {
|
||||
CHECK(refData.size() == 7);
|
||||
CHECK(out_values.size() == refData.size());
|
||||
for (size_t i = 0; i < refData.size(); i++) {
|
||||
- CHECK(out_values.at(i) == refData.at(i));
|
||||
+ CHECK(out_values.at(i) == Catch::Approx(refData.at(i)).margin(1e-9));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ TEST_CASE("Parse Message Big Number not aligned little endian") {
|
||||
CHECK(refData.size() == 7);
|
||||
CHECK(out_values.size() == refData.size());
|
||||
for (size_t i = 0; i < refData.size(); i++) {
|
||||
- CHECK(out_values.at(i) == refData.at(i));
|
||||
+ CHECK(out_values.at(i) == Catch::Approx(refData.at(i)).margin(1e-9));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ TEST_CASE("Parse Message Big Number not aligned little endian") {
|
||||
CHECK(refData.size() == 7);
|
||||
CHECK(out_values.size() == refData.size());
|
||||
for (size_t i = 0; i < refData.size(); i++) {
|
||||
- CHECK(out_values.at(i) == refData.at(i));
|
||||
+ CHECK(out_values.at(i) == Catch::Approx(refData.at(i)).margin(1e-9));
|
||||
}
|
||||
}
|
||||
}
|
||||
64
pkgs/by-name/db/dbc-parser-cpp/package.nix
Normal file
64
pkgs/by-name/db/dbc-parser-cpp/package.nix
Normal file
@@ -0,0 +1,64 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
pkg-config,
|
||||
fast-float,
|
||||
catch2_3,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dbc-parser-cpp";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LinuxDevon";
|
||||
repo = "dbc_parser_cpp";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-oyC7NihrlYvoR3CH07FeZcXfQ1JH2Ymsb7ocgim4dZ8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Submitted upstream: https://github.com/LinuxDevon/dbc_parser_cpp/pull/37
|
||||
# Remove when upstream merges the PR
|
||||
./0001-fix-pkg-config-file.patch
|
||||
]
|
||||
# Submitted upstream: https://github.com/LinuxDevon/dbc_parser_cpp/pull/36
|
||||
# Remove when upstream merges the PR
|
||||
++ lib.optional stdenv.hostPlatform.isAarch64 ./0002-fix-testcase-aarch64.patch;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
fast-float
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
catch2_3
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "DBC_ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
|
||||
# Cmake test file doesn't check for system installed Catch2 and directly uses FetchContent to download Catch2
|
||||
(lib.cmakeFeature "FETCHCONTENT_TRY_FIND_PACKAGE_MODE" "ALWAYS")
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
|
||||
meta = {
|
||||
description = "DBC file parsing library written in C++";
|
||||
homepage = "https://github.com/LinuxDevon/dbc_parser_cpp";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
AhmedAmr
|
||||
];
|
||||
teams = with lib.teams; [ ngi ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
})
|
||||
@@ -8,15 +8,15 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "7.1.320";
|
||||
version = "7.1.330";
|
||||
srcs = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://github.com/aunetx/deezer-linux/releases/download/v${version}/deezer-desktop-${version}-x64.tar.xz";
|
||||
hash = "sha256-qCi7Yi2phMtN4IWo8eR0SFIe90TpOk2jqJKj3URSeNQ=";
|
||||
hash = "sha256-DZ5BjNJYS0Ke7Cgc0xCjojbUWpMfOR5lKOMyN4gOhIA=";
|
||||
};
|
||||
aarch64-linux = fetchurl {
|
||||
url = "https://github.com/aunetx/deezer-linux/releases/download/v${version}/deezer-desktop-${version}-arm64.tar.xz";
|
||||
hash = "sha256-xgpdmrM3+v9o0sKyYv09MxdD6xoTNff3hPgD+loyhNE=";
|
||||
hash = "sha256-oKDwECjatV/dT/cnGN6Sk6RTIVDiKI8R0AAYmRvVlmo=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -2,20 +2,28 @@
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "deploy-rs";
|
||||
version = "0-unstable-2026-02-02";
|
||||
version = "0-unstable-2026-09-14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "serokell";
|
||||
repo = "deploy-rs";
|
||||
rev = "77c906c0ba56aabdbc72041bf9111b565cdd6171";
|
||||
hash = "sha256-hwsYgDnby50JNVpTRYlF3UR/Rrpt01OrxVuryF40CFY=";
|
||||
rev = "e760371d631165e7d8de5b0dcf148e21ec4c16f0";
|
||||
hash = "sha256-UXFQ7tFiwn8sPz0EV4CBB2PCf/ZiGIHWn/6MXk81Lxs=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-9O93YTEz+e2oxenE0gwxsbz55clbKo9+37yVOqz7ErE=";
|
||||
cargoHash = "sha256-ONGMdmkKGPJ+6KF2hkZQBefkug/C5ZEqPidKR6OkCbU=";
|
||||
|
||||
# Tests use the FSEvents API on macOS, which the darwin sandbox blocks by default
|
||||
sandboxProfile = ''
|
||||
(allow mach-lookup (global-name "com.apple.FSEvents"))
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
|
||||
|
||||
meta = {
|
||||
description = "Multi-profile Nix-flake deploy tool";
|
||||
|
||||
@@ -20,11 +20,11 @@ stdenv.mkDerivation rec {
|
||||
# the wrapped version of Descent 3. Once there’s a stable version of Descent
|
||||
# 3 that supports the -additionaldir command-line option, we can stop using
|
||||
# an unstable version of Descent 3.
|
||||
version = "1.5.0-beta-unstable-2026-01-21";
|
||||
version = "1.5.0-beta-unstable-2026-09-16";
|
||||
src = fetchFromGitHub {
|
||||
owner = "DescentDevelopers";
|
||||
repo = "Descent3";
|
||||
rev = "156cba8aafd997d27deb0902ba6026bcdcc1cfaf";
|
||||
rev = "a3e82bc292dab95afd2bf3dc0988c065e041b3ef";
|
||||
leaveDotGit = true;
|
||||
# Descent 3 is supposed to display its Git commit hash in the bottom right
|
||||
# corner of the main menu. That feature only works if either the .git
|
||||
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
|
||||
git rev-parse --verify HEAD | tr --delete '\n' > git-hash.txt
|
||||
rm -r .git
|
||||
'';
|
||||
hash = "sha256-NsZPGgIzI2mE3mJ7eoczaNDkGZUpMUMBRLK2qt2WPgk=";
|
||||
hash = "sha256-yS2tjVNtUEbsMbdt21TK7VqN3rm66BxNxI/GNcAHCIA=";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
@@ -7,24 +7,24 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "3000.6.14";
|
||||
version = "3000.10.31";
|
||||
|
||||
throwSystem = throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}";
|
||||
|
||||
srcs = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://static.devin.ai/cli/${version}/devin-${version}-x86_64-unknown-linux.tar.gz";
|
||||
hash = "sha256-KM9kwd+fWMzQY/t+b9bpORBzxYW3M0STcUheHvij5ts=";
|
||||
hash = "sha256-QyGNgO5JV29PhKH/1KTOx1XFRbXKmMWybvzlNAgk8zE=";
|
||||
};
|
||||
|
||||
aarch64-linux = fetchurl {
|
||||
url = "https://static.devin.ai/cli/${version}/devin-${version}-aarch64-unknown-linux.tar.gz";
|
||||
hash = "sha256-VM9YRcGq5c6zRXC6N7rObRWzPrAXXg8vHsZLrAOKlfA=";
|
||||
hash = "sha256-balrnIwjN4ksDa0KEseqp+Vov+91crv1TnoOyIkWujM=";
|
||||
};
|
||||
|
||||
aarch64-darwin = fetchurl {
|
||||
url = "https://static.devin.ai/cli/${version}/devin-${version}-aarch64-apple-darwin.tar.gz";
|
||||
hash = "sha256-YAW8LBlE8BQ0Vld9c6akzIDVcX3PJgbc02GolYxHISY=";
|
||||
hash = "sha256-BR388p4PXLXwoHx1edyXJV/ufwLOTG/qzH1AZc52tb0=";
|
||||
};
|
||||
};
|
||||
in
|
||||
|
||||
@@ -47,6 +47,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
doCheck = !stdenv.hostPlatform.isDarwin;
|
||||
|
||||
meta = {
|
||||
# last successful hydra build on darwin was in 2024
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
description = "Flexible dictionary server and client implementing RFC 2229";
|
||||
homepage = "https://www.gnu.org/software/dico/";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
versionCheckHook,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
@@ -28,7 +29,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
tests.nixos = nixosTests.docuum;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Least recently used (LRU) eviction of Docker images";
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user