Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
184 commits
Select commit Hold shift + click to select a range
003a8a4
gitstatus: add prompt scripts and share helper
chetgurevitch Sep 12, 2024
04fcf3c
maintainers: add pizzapim
pizzapim Mar 18, 2024
f1daa46
nixos/gatus: init module
pizzapim Sep 19, 2024
7d68a05
gatus: add nixosTest
pizzapim Sep 19, 2024
5cb0064
c3-lsp: init at 0.3.2
Sep 22, 2024
6a1ce54
nextflow: 22.10.6 -> 24.04.4 + remove buildFHSEnv
rollf Sep 24, 2024
e7dac85
nextflow: add a passthru.tests.version
rollf Sep 24, 2024
8d15ee1
tests/nextflow: init
rollf Sep 24, 2024
6e56740
miracle-wm: 0.3.5 -> 0.3.6
OPNA2608 Sep 27, 2024
443e133
mir*: nixfmt
OPNA2608 Sep 17, 2024
c1295e6
mir: 2.17.2 -> 2.18.0
OPNA2608 Sep 17, 2024
ea12c5d
mir: Add miriway & miracle-wm as tests
OPNA2608 Sep 17, 2024
987a83a
maintainers: add aucub
Sep 28, 2024
27f1f46
mir: 2.18.0 -> 2.18.2
OPNA2608 Sep 28, 2024
7d3dae0
qrq: init at 0.3.5
pkharvey Sep 28, 2024
df80b55
elvis-erlang: 3.2.5 -> 3.2.6
r-ryantm Sep 29, 2024
b535ab6
virt-manager: only add run time dependencies to PYTHONPATH
dotlambda Sep 30, 2024
9cd78fd
tests/nextflow: restrict to x86_64-linux
rollf Sep 30, 2024
1f82156
qemu: reduce userOnly dependencies so its less likely to break in pkg…
jcaesar Aug 15, 2024
4658a06
lib/systems: use qemu-user package instead of custom definition
jcaesar Aug 7, 2024
b8c1ef9
nixos/binfmt: Add option to use static emulators when available
zhaofengli May 27, 2023
6fc2184
meshcentral: 1.1.31 -> 1.1.32
Ma27 Oct 1, 2024
717817b
azure-cli: only alias removed extensions if allowed
katexochen Oct 1, 2024
d07be43
matrix-synapse-unwrapped: 1.115.0 -> 1.116.0
Guanran928 Oct 1, 2024
e0d4f70
smtp4dev: 3.3.4 -> 3.6.1
Defelo Oct 1, 2024
f989ed5
cljfmt: 0.12.0 -> 0.13.0
r-ryantm Oct 1, 2024
c3406f5
oh-my-zsh: 2024-09-22 -> 2024-10-01
r-ryantm Oct 1, 2024
e16e11c
viddy: migrate to pkgs/by-name
phanirithvij Oct 1, 2024
a46bd85
railway: 3.14.1 -> 3.15.1
r-ryantm Oct 1, 2024
8dc6ec4
zoekt: 3.7.2-2-unstable-2024-09-19 -> 3.7.2-2-unstable-2024-10-01
r-ryantm Oct 1, 2024
fe35d56
python312Packages.apischema: 0.18.1 -> 0.18.3
fabaff Oct 1, 2024
de80a0c
python312Packages.openai: 1.50.2 -> 1.51.0
malob Oct 1, 2024
7552231
waveterm: init at 0.8.7
Oct 1, 2024
a63c9de
zigbee2mqtt: 1.40.1 -> 1.40.2
mweinelt Oct 1, 2024
ebbbece
python312Packages.apischema: refactor
fabaff Oct 1, 2024
37b51f0
lmstudio: 0.3.2 -> 0.3.3
eeedean Oct 1, 2024
8ea4482
python312Packages.elkm1-lib: 2.2.7 -> 2.2.8
fabaff Oct 1, 2024
e4b5bae
pyright: 1.1.381 -> 1.1.382
r-ryantm Oct 1, 2024
c74d1a5
maintainers: add nartsiss
nartsisss Sep 20, 2024
e58e08e
protols: init at 0.6.0
nartsisss Sep 20, 2024
3a16637
mov-cli: 4.4.14 -> 4.4.15
r-ryantm Oct 1, 2024
b314d03
easytier: 1.2.3 -> 2.0.0
r-ryantm Oct 1, 2024
4398088
python312Packages.johnnycanencrypt: 0.14.1 -> 0.15.0
fabaff Oct 1, 2024
71942bf
python312Packages.hstspreload: 2024.9.1 -> 2024.10.1
fabaff Oct 1, 2024
67779da
python312Packages.johnnycanencrypt: refactor
fabaff Oct 1, 2024
e65eafd
python312Packages.python-linkplay: 0.0.11 -> 0.0.14
dotlambda Oct 1, 2024
f1c1933
python312Packages.gotailwind: 0.2.3 -> 0.2.4
fabaff Oct 1, 2024
6a1661b
glfw3: don't depend on extra-cmake-modules
K900 Oct 1, 2024
f55cd63
drawio: 24.7.8 -> 24.7.17
afh Oct 1, 2024
f1dffa6
python312Packages.reflex: 0.6.0 -> 0.6.1
pbsds Oct 1, 2024
d740feb
python312Packages.reflex-chakra: 0.6.0 -> 0.6.1
pbsds Oct 1, 2024
bc4e633
python312Packages.albumentations: 1.4.16 -> 1.4.17
r-ryantm Oct 1, 2024
6101b56
python312Packages.langchain-chroma: fix broken tests
sarahec Oct 1, 2024
3c7cbaa
OSCAR: rename to oscar
quantenzitrone Jun 12, 2024
fc0cc3f
nixos/tests/systemd-binfmt: Add chroot test
zhaofengli May 27, 2023
78b037d
picocom: fix cross compilation
uninsane Oct 2, 2024
be9c69a
python312Packages.async-stagger: 0.3.1 -> 0.4.0.post1
mweinelt Sep 27, 2024
e69dddd
python312Packages.ircstates: 0.12.1 -> 0.13.0
mweinelt Sep 27, 2024
e9ab916
python312Packages.irctokens: modernize
mweinelt Sep 27, 2024
663225c
python312Packages.ircrobots: modernize
mweinelt Sep 27, 2024
2f733e2
python312Packages.ircrobots: 0.6.6 -> 0.7.2
mweinelt Oct 1, 2024
4162e53
flare-signal: 0.15.0 -> 0.15.2
dotlambda Oct 2, 2024
79284a1
gh: 2.57.0 -> 2.58.0
afh Oct 1, 2024
7f8d141
virt-manager: only add run time dependencies to PYTHONPATH (#345419)
fpletz Oct 2, 2024
35d0293
picocom: fix cross compilation (#345811)
Artturin Oct 2, 2024
dd326b7
diffedit3: 0.4.0 -> 0.5.0
r-ryantm Oct 2, 2024
ed034a1
nwg-panel: 0.9.39 -> 0.9.40
r-ryantm Oct 2, 2024
69c2072
liferea: 1.15.7 -> 1.15.8
r-ryantm Oct 2, 2024
1b61c3a
flare-signal: 0.15.0 -> 0.15.2 (#345815)
dotlambda Oct 2, 2024
7652f0e
raspberrypifw: 1.20240924 -> 1.20240926
r-ryantm Oct 2, 2024
c9cb905
granted: 0.34.0 -> 0.34.1
r-ryantm Oct 2, 2024
4605890
dumbpipe: 0.17.0 -> 0.18.0
bbigras Oct 2, 2024
f98322d
libresplit: 0-unstable-2024-06-05 -> 0-unstable-2024-09-24
r-ryantm Oct 2, 2024
4736acf
crystal-dock: 2.3 -> 2.5
r-ryantm Oct 2, 2024
f481bad
nextflow: fix build on darwin
rollf Oct 1, 2024
5a8e34e
libertinus: 7.040 → 7.051 (#344345)
vbgl Oct 2, 2024
3b266ab
waveterm: init at 0.8.7 (#345714)
JohnRTitor Oct 2, 2024
25be435
flitter: 1.1.0 -> 1.1.1
r-ryantm Oct 2, 2024
0e2fb41
python312Packages.reflex-chakra: 0.6.0 -> 0.6.1
r-ryantm Oct 2, 2024
f7e7761
viddy: migrate to pkgs/by-name (#345727)
JohnRTitor Oct 2, 2024
7f0cea8
oh-my-zsh: 2024-09-22 -> 2024-10-01 (#345721)
JohnRTitor Oct 2, 2024
7801f74
smtp4dev: 3.3.4 -> 3.6.1 (#345712)
JohnRTitor Oct 2, 2024
0e9597e
extism-cli: 1.5.3 -> 1.5.4
r-ryantm Oct 2, 2024
1cbf543
stripe-cli: 1.21.6 -> 1.21.7
r-ryantm Oct 2, 2024
e8cb71f
lurk: 0.3.7 -> 0.3.8
r-ryantm Oct 2, 2024
a91cb45
shellhub-agent: 0.16.2 -> 0.16.4
r-ryantm Oct 2, 2024
e699b93
alacritty-theme: 0-unstable-2024-09-03 -> 0-unstable-2024-09-27
r-ryantm Oct 2, 2024
fbdb99d
glfw3: don't depend on extra-cmake-modules (#345791)
K900 Oct 2, 2024
f650f62
envision-unwrapped: 0-unstable-2024-09-21 -> 0-unstable-2024-09-28
Pandapip1 Oct 2, 2024
e5ddbb1
goda: move to pkgs/by-name, format
michaeladler Oct 2, 2024
576b37b
ldeep: 1.0.67 -> 1.0.69
r-ryantm Oct 2, 2024
3d0b31e
doc/release-notes: fix typos
bbigras Oct 2, 2024
e980244
python312Packages.gotailwind: 0.2.3 -> 0.2.4 (#345789)
fabaff Oct 2, 2024
4128402
python312Packages.johnnycanencrypt: 0.14.1 -> 0.15.0 (#345787)
fabaff Oct 2, 2024
349d05b
python312Packages.hstspreload: 2024.9.1 -> 2024.10.1 (#345786)
fabaff Oct 2, 2024
7e9ffcd
python312Packages.elkm1-lib: 2.2.7 -> 2.2.8 (#345775)
fabaff Oct 2, 2024
6444715
python312Packages.apischema: 0.18.1 -> 0.18.3 (#345761)
fabaff Oct 2, 2024
f395d9d
vimPlugins.nvim-dap-rego: init at 2024-09-15"
rinx Sep 21, 2024
58675fa
vimPlugins.nvim-dap-rego: update 2024-09-15 -> 2024-09-28
rinx Sep 28, 2024
c163396
python312Packages.langchain-chroma: fix broken tests (#345803)
fabaff Oct 2, 2024
cb793d5
nextflow: 22.10.6 -> 24.08.0-edge + remove buildFHSEnv + compile from…
doronbehar Oct 2, 2024
836d734
python312Packages.lxmf: 0.5.3 -> 0.5.4
fabaff Oct 2, 2024
445e153
python311Packages.rns: 0.8.0 -> 0.8.1
fabaff Oct 2, 2024
db8edda
python312Packages.losant-rest: 1.19.10 -> 1.20.1
fabaff Oct 2, 2024
04d79fa
python312Packages.publicsuffixlist: 1.0.2.20241001 -> 1.0.2.20241002
fabaff Oct 2, 2024
d483a38
python312Packages.reflex-chakra: 0.6.0 -> 0.6.1 (#345838)
fabaff Oct 2, 2024
4709673
python312Packages.reflex: 0.6.0 -> 0.6.1 (#345797)
fabaff Oct 2, 2024
6e0ee3d
ldeep: 1.0.67 -> 1.0.69 (#345858)
fabaff Oct 2, 2024
d40ba4d
python312Packages.spdx-tools: 0.8.2 -> 0.8.3
fabaff Oct 2, 2024
cb736cf
nixos/veilid: add release notes
figboy9 Oct 2, 2024
e2f2f67
python312Packages.pymc: 5.16.2 -> 5.17.0
GaetanLepage Oct 2, 2024
31de8b4
electrs: 0.10.5 -> 0.10.6
r-ryantm Oct 2, 2024
59d64e3
easytier: 1.2.3 -> 2.0.0 (#345783)
nixpkgs-merge-bot[bot] Oct 2, 2024
1d8136e
nixos/i2pd: fix build
nagy Oct 2, 2024
5e83245
fooyin: 0.5.3 -> 0.7.0
greydot Sep 2, 2024
bf2f2c6
0.7.0 -> 0.7.2
peterhoeg Oct 1, 2024
84cc590
cadvisor: unstable-2023-10-22 -> 0.49.1
K900 Oct 2, 2024
e687c49
doc/release-notes: fix typos (#345864)
wegank Oct 2, 2024
d5a0693
nixos/veilid: add release notes (#345847)
h7x4 Oct 2, 2024
27e304c
wgpu: init at 22.1.0
Bot-wxt1221 Sep 29, 2024
717c79a
gitkraken: 10.3.0 -> 10.4.0
nicolas-goudry Oct 2, 2024
075be3e
nixos/gatus: init module (#294469)
drupol Oct 2, 2024
8d572bf
gitkraken: 10.3.0 -> 10.4.0 (#345889)
kirillrdy Oct 2, 2024
ba55bb1
Merge: meshcentral: 1.1.31 -> 1.1.32 (#345679)
Ma27 Oct 2, 2024
da60a43
azure-cli: only alias removed extensions if allowed (#345698)
katexochen Oct 2, 2024
0e82fac
eigenlayer: 0.10.4 -> 0.10.6
r-ryantm Oct 2, 2024
3ccbabd
vscode-extensions.github.copilot: 1.219.1028 -> 1.234.1133
drupol Oct 2, 2024
1ef7ab4
pyright: 1.1.381 -> 1.1.382 (#345780)
nixpkgs-merge-bot[bot] Oct 2, 2024
ae9143c
vscode-extensions.github.copilot-chat: 0.19.2024073102 -> 0.21.202409…
drupol Oct 2, 2024
e94875c
bencodetools: fix build
ocfox Oct 2, 2024
1e5c59c
bencodetools: format and remove unused rec
ocfox Oct 2, 2024
e8bb8f0
zoekt: 3.7.2-2-unstable-2024-09-19 -> 3.7.2-2-unstable-2024-10-01 (#3…
nixpkgs-merge-bot[bot] Oct 2, 2024
dc114f2
zigbee2mqtt: 1.40.1 -> 1.40.2 (#345766)
mweinelt Oct 2, 2024
bbaa8c9
python312Packages.ircrobots: 0.6.0 -> 0.7.2 (#344884)
mweinelt Oct 2, 2024
b12b45e
nixos/i2pd: fix build (#345879)
Atemu Oct 2, 2024
b7d495d
mir: 2.17.2 -> 2.18.2 (#342624)
OPNA2608 Oct 2, 2024
dd89098
electrs: 0.10.5 -> 0.10.6 (#345875)
prusnak Oct 2, 2024
f2ad271
reindeer: 2024.09.23.00 -> 2024.09.30.00
r-ryantm Oct 2, 2024
a73f58a
vscode-extensions.github.{copilot,copilot-chat}: bump (#345902)
drupol Oct 2, 2024
f5d029a
vimPlugins.kulala-nvim: init at 2024-09-30
CnTeng Aug 23, 2024
a1b96c1
cljfmt: 0.12.0 -> 0.13.0 (#345719)
nixpkgs-merge-bot[bot] Oct 2, 2024
42233e3
qrq: init at 0.3.5 (#345123)
MatthewCroughan Oct 2, 2024
07cbe7d
gitstatus: add prompt scripts and share helper (#342032)
SuperSandro2000 Oct 2, 2024
4b6981a
wgpu: init at 22.1.0 (#345248)
wegank Oct 2, 2024
e46dc3b
crystal-dock: 2.3 -> 2.5 (#345834)
nixpkgs-merge-bot[bot] Oct 2, 2024
1924327
bencodetools: fix build (#345860)
OPNA2608 Oct 2, 2024
b04f9d1
OSCAR: rename to oscar (#320361)
SuperSandro2000 Oct 2, 2024
cd585b5
shellhub-agent: 0.16.2 -> 0.16.4 (#345849)
NickCao Oct 2, 2024
a3be4d4
mov-cli: 4.4.14 -> 4.4.15 (#345781)
NickCao Oct 2, 2024
e95a3a3
protols: init at 0.6.0 (#345779)
NickCao Oct 2, 2024
be18faf
lmstudio: 0.3.2 -> 0.3.3 (#345771)
NickCao Oct 2, 2024
abcb614
python312Packages.pymc: 5.16.2 -> 5.17.0 (#345874)
pbsds Oct 2, 2024
98e5db8
python312Packages.openai: 1.50.2 -> 1.51.0 (#345763)
NickCao Oct 2, 2024
ef9b19d
railway: 3.14.1 -> 3.15.1 (#345755)
NickCao Oct 2, 2024
0284f82
liferea: 1.15.7 -> 1.15.8 (#345824)
NickCao Oct 2, 2024
795a0fd
nwg-panel: 0.9.39 -> 0.9.40 (#345822)
NickCao Oct 2, 2024
268beb4
diffedit3: 0.4.0 -> 0.5.0 (#345821)
NickCao Oct 2, 2024
d44717c
nixos/binfmt: Add option to use static emulators when available (#334…
SuperSandro2000 Oct 2, 2024
9a92e53
python312Packages.albumentations: 1.4.16 -> 1.4.17 (#345801)
NickCao Oct 2, 2024
cc1c6aa
drawio: 24.7.8 -> 24.7.17 (#345792)
NickCao Oct 2, 2024
c7a05e7
python312Packages.python-linkplay: 0.0.11 -> 0.0.14 (#345788)
NickCao Oct 2, 2024
7317b3a
goda: move to pkgs/by-name, format (#345856)
NickCao Oct 2, 2024
e804f02
envision-unwrapped: 0-unstable-2024-09-21 -> 0-unstable-2024-09-28 (#…
NickCao Oct 2, 2024
fad9287
alacritty-theme: 0-unstable-2024-09-03 -> 0-unstable-2024-09-27 (#345…
NickCao Oct 2, 2024
4002d8d
lurk: 0.3.7 -> 0.3.8 (#345844)
NickCao Oct 2, 2024
5560baf
stripe-cli: 1.21.6 -> 1.21.7 (#345842)
NickCao Oct 2, 2024
20efcdb
extism-cli: 1.5.3 -> 1.5.4 (#345840)
NickCao Oct 2, 2024
3cfb9ee
flitter: 1.1.0 -> 1.1.1 (#345836)
NickCao Oct 2, 2024
1461ebc
raspberrypifw: 1.20240924 -> 1.20240926 (#345826)
NickCao Oct 2, 2024
c08485e
granted: 0.34.0 -> 0.34.1 (#345830)
NickCao Oct 2, 2024
718c9a9
dumbpipe: 0.17.0 -> 0.18.0 (#345832)
NickCao Oct 2, 2024
4a781f0
libresplit: 0-unstable-2024-06-05 -> 0-unstable-2024-09-24 (#345833)
NickCao Oct 2, 2024
c987c43
elvis-erlang: 3.2.5 -> 3.2.6 (#345312)
mattpolzin Oct 2, 2024
b1dd831
python312Packages.spdx-tools: 0.8.2 -> 0.8.3 (#345871)
NickCao Oct 2, 2024
c8a7a8d
python312Packages.lxmf: 0.5.3 -> 0.5.4, python311Packages.rns: 0.8.0 …
NickCao Oct 2, 2024
2be0b9e
python312Packages.losant-rest: 1.19.10 -> 1.20.1 (#345869)
NickCao Oct 2, 2024
127bf68
python312Packages.publicsuffixlist: 1.0.2.20241001 -> 1.0.2.20241002 …
NickCao Oct 2, 2024
4b85ab7
eigenlayer: 0.10.4 -> 0.10.6 (#345900)
NickCao Oct 2, 2024
2a12057
reindeer: 2024.09.23.00 -> 2024.09.30.00 (#345914)
NickCao Oct 2, 2024
3150fb2
oboete: 0.1.5 -> 0.1.6
GaetanLepage Oct 2, 2024
ead8c92
c3-lsp: init at 0.3.2 (#343801)
mattpolzin Oct 2, 2024
4d3ec29
cadvisor: unstable-2023-10-22 -> 0.49.1 (#345882)
K900 Oct 2, 2024
3fb734f
Merge: matrix-synapse-unwrapped: 1.115.0 -> 1.116.0 (#345702)
Ma27 Oct 2, 2024
9745b57
Enable haskell-language-server for ghc9101
jmatsushita Oct 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 5 additions & 20 deletions lib/systems/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -277,25 +277,6 @@ let
let
selectEmulator = pkgs:
let
qemu-user = pkgs.qemu.override {
smartcardSupport = false;
spiceSupport = false;
openGLSupport = false;
virglSupport = false;
vncSupport = false;
gtkSupport = false;
sdlSupport = false;
alsaSupport = false;
pulseSupport = false;
pipewireSupport = false;
jackSupport = false;
smbdSupport = false;
seccompSupport = false;
tpmSupport = false;
capstoneSupport = false;
enableDocs = false;
hostCpuTargets = [ "${final.qemuArch}-linux-user" ];
};
wine = (pkgs.winePackagesFor "wine${toString final.parsed.cpu.bits}").minimal;
in
# Note: we guarantee that the return value is either `null` or a path
Expand All @@ -306,7 +287,7 @@ let
else if final.isWindows
then "${wine}/bin/wine${optionalString (final.parsed.cpu.bits == 64) "64"}"
else if final.isLinux && pkgs.stdenv.hostPlatform.isLinux && final.qemuArch != null
then "${qemu-user}/bin/qemu-${final.qemuArch}"
then "${pkgs.qemu-user}/bin/qemu-${final.qemuArch}"
else if final.isWasi
then "${pkgs.wasmtime}/bin/wasmtime"
else if final.isMmix
Expand All @@ -315,6 +296,10 @@ let
in {
emulatorAvailable = pkgs: (selectEmulator pkgs) != null;

# whether final.emulator pkgs.pkgsStatic works
staticEmulatorAvailable = pkgs: final.emulatorAvailable pkgs
&& (final.isLinux || final.isWasi || final.isMmix);

emulator = pkgs:
if (final.emulatorAvailable pkgs)
then selectEmulator pkgs
Expand Down
1 change: 1 addition & 0 deletions lib/tests/systems.nix
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ lib.runTests (
canExecute = null;
emulator = null;
emulatorAvailable = null;
staticEmulatorAvailable = null;
isCompatible = null;
}?${platformAttrName};
};
Expand Down
18 changes: 18 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2041,6 +2041,12 @@
github = "auchter";
githubId = 1190483;
};
aucub = {
name = "aucub";
email = "dr56ekgbb@mozmail.com";
github = "aucub";
githubId = 78630225;
};
augustebaum = {
email = "auguste.apple@gmail.com";
github = "augustebaum";
Expand Down Expand Up @@ -14694,6 +14700,12 @@
githubId = 6709831;
name = "Jake Hill";
};
nartsiss = {
name = "Daniil Nartsissov";
email = "nartsiss@proton.me";
github = "nartsisss";
githubId = 54633007;
};
nasageek = {
github = "NasaGeek";
githubId = 474937;
Expand Down Expand Up @@ -16654,6 +16666,12 @@
githubId = 14542417;
name = "Sergey Ichtchenko";
};
pizzapim = {
email = "pim@kunis.nl";
github = "pizzapim";
githubId = 23135512;
name = "Pim Kunis";
};
pjbarnoy = {
email = "pjbarnoy@gmail.com";
github = "waaamb";
Expand Down
10 changes: 7 additions & 3 deletions nixos/doc/manual/release-notes/rl-2411.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@
user management. This can be used instead of the `update-users-groups.pl`
Perl script and instead of systemd-sysusers. To achieve a system without
Perl, this is the now recommended tool over systemd-sysusers because it can
alos create normal users and change passwords. Available as
also create normal users and change passwords. Available as
[services.userborn](#opt-services.userborn.enable)

- [Hatsu](https://github.com/importantimport/hatsu), a self-hosted bridge that interacts with Fediverse on behalf of your static site. Available as [services.hatsu](options.html#opt-services.hatsu).
Expand Down Expand Up @@ -120,6 +120,8 @@

- [Localsend](https://localsend.org/), an open source cross-platform alternative to AirDrop. Available as [programs.localsend](#opt-programs.localsend.enable).

- [Gatus](https://github.com/TwiN/gatus), an automated developer-oriented status page. Available as [services.gatus](#opt-services.gatus.enable).

- [cryptpad](https://cryptpad.org/), a privacy-oriented collaborative platform (docs/drive/etc), has been added back. Available as [services.cryptpad](#opt-services.cryptpad.enable).

- [realm](https://github.com/zhboner/realm), a simple, high performance relay server written in rust. Available as [services.realm.enable](#opt-services.realm.enable).
Expand Down Expand Up @@ -159,6 +161,8 @@

- [obs-studio](https://obsproject.com/), Free and open source software for video recording and live streaming. Available as [programs.obs-studio.enable](#opt-programs.obs-studio.enable).

- [Veilid](https://veilid.com), a headless server that enables privacy-focused data sharing and messaging on a peer-to-peer network. Available as [services.veilid](#opt-services.veilid.enable).

## Backward Incompatibilities {#sec-release-24.11-incompatibilities}

- The `sound` options have been removed or renamed, as they had a lot of unintended side effects. See [below](#sec-release-24.11-migration-sound) for details.
Expand Down Expand Up @@ -487,7 +491,7 @@
- The `services.syncplay` module now exposes all currently available command-line arguments for `syncplay-server` as options, as well as a `useACMEHost` option for easy TLS setup.
The systemd service now uses `DynamicUser`/`StateDirectory` and the `user` and `group` options have been deprecated.

- The `openlens` package got removed, suggested replacment `lens-desktop`
- The `openlens` package got removed, suggested replacement `lens-desktop`

- The `services.dnsmasq.extraConfig` option has been removed, as it had been deprecated for over 2 years. This option has been replaced by `services.dnsmasq.settings`.

Expand Down Expand Up @@ -612,7 +616,7 @@
- `iproute2` now has libbpf support.

- `nix.channel.enable = false` no longer implies `nix.settings.nix-path = []`.
Since Nix 2.13, a `nix-path` set in `nix.conf` cannot be overriden by the `NIX_PATH` configuration variable.
Since Nix 2.13, a `nix-path` set in `nix.conf` cannot be overridden by the `NIX_PATH` configuration variable.

## Detailed migration information {#sec-release-24.11-migration}

Expand Down
1 change: 1 addition & 0 deletions nixos/modules/module-list.nix
Original file line number Diff line number Diff line change
Expand Up @@ -883,6 +883,7 @@
./services/monitoring/datadog-agent.nix
./services/monitoring/do-agent.nix
./services/monitoring/fusion-inventory.nix
./services/monitoring/gatus.nix
./services/monitoring/goss.nix
./services/monitoring/grafana-agent.nix
./services/monitoring/grafana-image-renderer.nix
Expand Down
132 changes: 132 additions & 0 deletions nixos/modules/services/monitoring/gatus.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
{
pkgs,
lib,
config,
...
}:
let
cfg = config.services.gatus;

settingsFormat = pkgs.formats.yaml { };

inherit (lib)
getExe
literalExpression
maintainers
mkEnableOption
mkIf
mkOption
mkPackageOption
;

inherit (lib.types)
bool
int
nullOr
path
submodule
;
in
{
options.services.gatus = {
enable = mkEnableOption "Gatus";

package = mkPackageOption pkgs "gatus" { };

configFile = mkOption {
type = path;
default = settingsFormat.generate "gatus.yaml" cfg.settings;
defaultText = literalExpression ''
let settingsFormat = pkgs.formats.yaml { }; in settingsFormat.generate "gatus.yaml" cfg.settings;
'';
description = ''
Path to the Gatus configuration file.
Overrides any configuration made using the `settings` option.
'';
};

environmentFile = mkOption {
type = nullOr path;
default = null;
description = ''
File to load as environment file.
Environmental variables from this file can be interpolated in the configuration file using `''${VARIABLE}`.
This is useful to avoid putting secrets into the nix store.
'';
};

settings = mkOption {
type = submodule {
freeformType = settingsFormat.type;
options = {
web.port = mkOption {
type = int;
default = 8080;
description = ''
The TCP port to serve the Gatus service at.
'';
};
};
};

default = { };

example = literalExpression ''
{
web.port = 8080;
endpoints = [{
name = "website";
url = "https://twin.sh/health";
interval = "5m";
conditions = [
"[STATUS] == 200"
"[BODY].status == UP"
"[RESPONSE_TIME] < 300"
];
}];
}
'';

description = ''
Configuration for Gatus.
Supported options can be found at the [docs](https://gatus.io/docs).
'';
};

openFirewall = mkOption {
type = bool;
default = false;
description = ''
Whether to open the firewall for the Gatus web interface.
'';
};
};

config = mkIf cfg.enable {
systemd.services.gatus = {
description = "Automated developer-oriented status page";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];

serviceConfig = {
DynamicUser = true;
User = "gatus";
Group = "gatus";
Type = "simple";
Restart = "on-failure";
ExecStart = getExe cfg.package;
StateDirectory = "gatus";
SyslogIdentifier = "gatus";
EnvironmentFile = lib.optional (cfg.environmentFile != null) cfg.environmentFile;
};

environment = {
GATUS_CONFIG_PATH = cfg.configFile;
};
};

networking.firewall.allowedTCPPorts = lib.optionals cfg.openFirewall [ cfg.settings.web.port ];
};

meta.maintainers = with maintainers; [ pizzapim ];
}
8 changes: 4 additions & 4 deletions nixos/modules/services/networking/i2pd.nix
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:

let
inherit (lib) mkIf mkOption mkEnableOption types optional optionals;
inherit (lib.types) nullOr bool listOf str;
inherit (lib) mkIf mkOption mkDefault mkEnableOption types optional optionals;
inherit (lib.types) nullOr bool listOf str attrsOf submodule;

cfg = config.services.i2pd;

Expand Down Expand Up @@ -618,7 +618,7 @@ in

outTunnels = mkOption {
default = {};
type = with types; attrsOf (submodule (
type = attrsOf (submodule (
{ name, ... }: {
options = {
destinationPort = mkOption {
Expand All @@ -639,7 +639,7 @@ in

inTunnels = mkOption {
default = {};
type = with types; attrsOf (submodule (
type = attrsOf (submodule (
{ name, ... }: {
options = {
inPort = mkOption {
Expand Down
36 changes: 28 additions & 8 deletions nixos/modules/system/boot/binfmt.nix
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@ let
''
else interpreter;

getEmulator = system: (lib.systems.elaborate { inherit system; }).emulator pkgs;
getQemuArch = system: (lib.systems.elaborate { inherit system; }).qemuArch;

# Mapping of systems to “magicOrExtension” and “mask”. Mostly taken from:
# - https://github.com/cleverca22/nixos-configs/blob/master/qemu.nix
Expand Down Expand Up @@ -280,28 +278,50 @@ in {
'';
type = types.listOf (types.enum (builtins.attrNames magics));
};

preferStaticEmulators = mkOption {
default = false;
description = ''
Whether to use static emulators when available.

This enables the kernel to preload the emulator binaries when
the binfmt registrations are added, obviating the need to make
the emulator binaries available inside chroots and chroot-like
sandboxes.
'';
type = types.bool;
};
};
};

config = {
assertions = lib.mapAttrsToList (name: reg: {
assertion = reg.fixBinary -> !reg.wrapInterpreterInShell;
message = "boot.binfmt.registrations.\"${name}\" cannot have fixBinary when the interpreter is invoked through a shell.";
}) cfg.registrations;

boot.binfmt.registrations = builtins.listToAttrs (map (system: assert system != pkgs.stdenv.hostPlatform.system; {
name = system;
value = { config, ... }: let
interpreter = getEmulator system;
qemuArch = getQemuArch system;
elaborated = lib.systems.elaborate { inherit system; };
useStaticEmulator = cfg.preferStaticEmulators && elaborated.staticEmulatorAvailable pkgs;
interpreter = elaborated.emulator (if useStaticEmulator then pkgs.pkgsStatic else pkgs);

inherit (elaborated) qemuArch;
isQemu = "qemu-${qemuArch}" == baseNameOf interpreter;

preserveArgvZero = "qemu-${qemuArch}" == baseNameOf interpreter;
interpreterReg = let
wrapperName = "qemu-${qemuArch}-binfmt-P";
wrapper = pkgs.wrapQemuBinfmtP wrapperName interpreter;
in
if preserveArgvZero then "${wrapper}/bin/${wrapperName}"
if isQemu && !useStaticEmulator then "${wrapper}/bin/${wrapperName}"
else interpreter;
in ({
preserveArgvZero = mkDefault preserveArgvZero;
preserveArgvZero = mkDefault isQemu;

interpreter = mkDefault interpreterReg;
wrapInterpreterInShell = mkDefault (!config.preserveArgvZero);
fixBinary = mkDefault useStaticEmulator;
wrapInterpreterInShell = mkDefault (!config.preserveArgvZero && !config.fixBinary);
interpreterSandboxPath = mkDefault (dirOf (dirOf config.interpreter));
} // (magics.${system} or (throw "Cannot create binfmt registration for system ${system}")));
}) cfg.emulatedSystems);
Expand Down
2 changes: 2 additions & 0 deletions nixos/tests/all-tests.nix
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,7 @@ in {
mimir = handleTest ./mimir.nix {};
gancio = handleTest ./gancio.nix {};
garage = handleTest ./garage {};
gatus = runTest ./gatus.nix;
gemstash = handleTest ./gemstash.nix {};
geoserver = runTest ./geoserver.nix;
gerrit = handleTest ./gerrit.nix {};
Expand Down Expand Up @@ -658,6 +659,7 @@ in {
# TODO: put in networking.nix after the test becomes more complete
networkingProxy = handleTest ./networking-proxy.nix {};
nextcloud = handleTest ./nextcloud {};
nextflow = handleTestOn ["x86_64-linux"] ./nextflow.nix {};
nextjs-ollama-llm-ui = runTest ./web-apps/nextjs-ollama-llm-ui.nix;
nexus = handleTest ./nexus.nix {};
# TODO: Test nfsv3 + Kerberos
Expand Down
Loading