···219220- `unifiLTS`, `unifi5` and `unifi6` have been removed, as they require MongoDB versions which are end-of-life. All these versions can be upgraded to `unifi7` directly.
22100222- `nitter` requires a `guest_accounts.jsonl` to be provided as a path or loaded into the default location at `/var/lib/nitter/guest_accounts.jsonl`. See [Guest Account Branch Deployment](https://github.com/zedeus/nitter/wiki/Guest-Account-Branch-Deployment) for details.
223224- `boot.supportedFilesystems` and `boot.initrd.supportedFilesystems` are now attribute sets instead of lists. Assignment from lists as done previously is still supported, but checking whether a filesystem is enabled must now by done using `supportedFilesystems.fs or false` instead of using `lib.elem "fs" supportedFilesystems` as was done previously.
···461- `libass` now uses the native CoreText backend on Darwin, which may fix subtitle rendering issues with `mpv`, `ffmpeg`, etc.
462463- [Lilypond](https://lilypond.org/index.html) and [Denemo](https://www.denemo.org) are now compiled with Guile 3.0.
00464465- The EC2 image module now enables the [Amazon SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) by default.
466
···219220- `unifiLTS`, `unifi5` and `unifi6` have been removed, as they require MongoDB versions which are end-of-life. All these versions can be upgraded to `unifi7` directly.
221222+- `mongodb-4_4` has been removed as it has reached end of life. Consequently, `unifi7` and `unifi8` now use MongoDB 5.0 by default.
223+224- `nitter` requires a `guest_accounts.jsonl` to be provided as a path or loaded into the default location at `/var/lib/nitter/guest_accounts.jsonl`. See [Guest Account Branch Deployment](https://github.com/zedeus/nitter/wiki/Guest-Account-Branch-Deployment) for details.
225226- `boot.supportedFilesystems` and `boot.initrd.supportedFilesystems` are now attribute sets instead of lists. Assignment from lists as done previously is still supported, but checking whether a filesystem is enabled must now by done using `supportedFilesystems.fs or false` instead of using `lib.elem "fs" supportedFilesystems` as was done previously.
···463- `libass` now uses the native CoreText backend on Darwin, which may fix subtitle rendering issues with `mpv`, `ffmpeg`, etc.
464465- [Lilypond](https://lilypond.org/index.html) and [Denemo](https://www.denemo.org) are now compiled with Guile 3.0.
466+467+- Garage has been updated to v1.x.x. Users should read the [upstream release notes](https://git.deuxfleurs.fr/Deuxfleurs/garage/releases/tag/v1.0.0) and follow the documentation when changing over their `services.garage.package` and performing this manual upgrade.
468469- The EC2 image module now enables the [Amazon SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) by default.
470
+1-1
nixos/lib/testing/meta.nix
···36 };
37 platforms = lib.mkOption {
38 type = types.listOf types.raw;
39- default = lib.platforms.linux;
40 description = ''
41 Sets the [`meta.platforms`](https://nixos.org/manual/nixpkgs/stable/#var-meta-platforms) attribute on the [{option}`test`](#test-opt-test) derivation.
42 '';
···36 };
37 platforms = lib.mkOption {
38 type = types.listOf types.raw;
39+ default = lib.platforms.linux ++ lib.platforms.darwin;
40 description = ''
41 Sets the [`meta.platforms`](https://nixos.org/manual/nixpkgs/stable/#var-meta-platforms) attribute on the [{option}`test`](#test-opt-test) derivation.
42 '';
···83 description = "Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM";
84 homepage = "https://github.com/WerWolv/ImHex";
85 license = with licenses; [ gpl2Only ];
86- maintainers = with maintainers; [ luis kashw2 cafkafk ];
87 platforms = platforms.linux;
88 };
89}
···83 description = "Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM";
84 homepage = "https://github.com/WerWolv/ImHex";
85 license = with licenses; [ gpl2Only ];
86+ maintainers = with maintainers; [ kashw2 cafkafk ];
87 platforms = platforms.linux;
88 };
89}
···122 hardeningDisable = [ "format" ];
123124 patches = [
125- # removes macOS 12+ dependencies
126- ../patches/qtwebengine-darwin-no-low-latency-flag.patch
127- ../patches/qtwebengine-darwin-no-copy-certificate-chain.patch
128 # Don't assume /usr/share/X11, and also respect the XKB_CONFIG_ROOT
129 # environment variable, since NixOS relies on it working.
130 # See https://github.com/NixOS/nixpkgs/issues/226484 for more context.
···122 hardeningDisable = [ "format" ];
123124 patches = [
000125 # Don't assume /usr/share/X11, and also respect the XKB_CONFIG_ROOT
126 # environment variable, since NixOS relies on it working.
127 # See https://github.com/NixOS/nixpkgs/issues/226484 for more context.
···1-From 90734859d2f9e6b9a1754c3e694ceb1a3c870bce Mon Sep 17 00:00:00 2001
2From: Nick Cao <nickcao@nichi.co>
3Date: Thu, 13 Apr 2023 23:42:29 +0800
4-Subject: [PATCH 01/11] qtbase: qmake: always use libname instead of absolute
5- path in qmake files
67In generated qmake files, absolute paths to qt libraries are embedded
8and then used in linker flags. However as the libraries can be provided
···45 list(APPEND out_list "${lib_name_with_link_flag}")
46 else()
47 list(APPEND out_list "${library_path}")
48---
49-2.42.0
50-
···1+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2From: Nick Cao <nickcao@nichi.co>
3Date: Thu, 13 Apr 2023 23:42:29 +0800
4+Subject: [PATCH] qtbase: qmake: always use libname instead of absolute path in
5+ qmake files
67In generated qmake files, absolute paths to qt libraries are embedded
8and then used in linker flags. However as the libraries can be provided
···45 list(APPEND out_list "${lib_name_with_link_flag}")
46 else()
47 list(APPEND out_list "${library_path}")
000
···1+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2+From: Nick Cao <nickcao@nichi.co>
3+Date: Wed, 12 Apr 2023 10:13:50 +0800
4+Subject: [PATCH] qtbase: qt-cmake: always use cmake from path
5+6+The generated qt-cmake scripts embeds the absolute path of cmake used
7+during the build of qtbase, bloating the runtime closure of qtbase.
8+---
9+ bin/qt-cmake-create.in | 7 +------
10+ bin/qt-cmake.in | 7 +------
11+ 2 files changed, 2 insertions(+), 12 deletions(-)
12+13+diff --git a/bin/qt-cmake-create.in b/bin/qt-cmake-create.in
14+index 7865d0fe91b..884dc4aba93 100755
15+--- a/bin/qt-cmake-create.in
16++++ b/bin/qt-cmake-create.in
17+@@ -7,12 +7,7 @@ HELP_MESSAGE="Usage
18+ script_dir_path=`dirname $0`
19+ script_dir_path=`(cd "$script_dir_path"; /bin/pwd)`
20+21+-# Try to use original cmake, otherwise to make it relocatable, use any cmake found in PATH.
22+-original_cmake_path="@CMAKE_COMMAND@"
23+-cmake_path=$original_cmake_path
24+-if ! test -f "$cmake_path"; then
25+- cmake_path="cmake"
26+-fi
27++cmake_path="cmake"
28+29+ if [ "$#" -gt 1 ]; then
30+ echo "Invalid number of arguments"
31+diff --git a/bin/qt-cmake.in b/bin/qt-cmake.in
32+index f719257f602..571ffe788fa 100755
33+--- a/bin/qt-cmake.in
34++++ b/bin/qt-cmake.in
35+@@ -4,12 +4,7 @@
36+ script_dir_path=`dirname $0`
37+ script_dir_path=`(cd "$script_dir_path"; /bin/pwd)`
38+39+-# Try to use original cmake, otherwise to make it relocatable, use any cmake found in PATH.
40+-original_cmake_path="@CMAKE_COMMAND@"
41+-cmake_path=$original_cmake_path
42+-if ! test -f "$cmake_path"; then
43+- cmake_path="cmake"
44+-fi
45++cmake_path="cmake"
46+47+ toolchain_path="$script_dir_path/@__GlobalConfig_relative_path_from_bin_dir_to_cmake_config_dir@/qt.toolchain.cmake"
48+
···1-From d503be89320f0b89b80acb19769971e855be6ae1 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Juan=20Pedro=20Bol=C3=ADvar=20Puente?= <raskolnikov@gnu.org>
3Date: Wed, 9 Aug 2023 16:16:21 +0200
4-Subject: [PATCH 09/11] qtbase: find qmlimportscanner in macdeployqt via
5- environment
67The qmlimportscanner tool is provided by qtdeclarative. Because of the
8modularized installation in Nix, it can not be found via the usual
···17 1 file changed, 4 insertions(+)
1819diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp
20-index ba10ae02bcd..320095a972d 100644
21--- a/src/tools/macdeployqt/shared/shared.cpp
22+++ b/src/tools/macdeployqt/shared/shared.cpp
23-@@ -1277,6 +1277,10 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
24 if (!QFile::exists(qmlImportScannerPath))
25 qmlImportScannerPath = QCoreApplication::applicationDirPath() + "/qmlimportscanner";
26···31 // Verify that we found a qmlimportscanner binary
32 if (!QFile::exists(qmlImportScannerPath)) {
33 LogError() << "qmlimportscanner not found at" << qmlImportScannerPath;
34---
35-2.42.0
36-
···1+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Juan=20Pedro=20Bol=C3=ADvar=20Puente?= <raskolnikov@gnu.org>
3Date: Wed, 9 Aug 2023 16:16:21 +0200
4+Subject: [PATCH] qtbase: find qmlimportscanner in macdeployqt via environment
056The qmlimportscanner tool is provided by qtdeclarative. Because of the
7modularized installation in Nix, it can not be found via the usual
···16 1 file changed, 4 insertions(+)
1718diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp
19+index 57b68627eba..2b972a76c49 100644
20--- a/src/tools/macdeployqt/shared/shared.cpp
21+++ b/src/tools/macdeployqt/shared/shared.cpp
22+@@ -1280,6 +1280,10 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
23 if (!QFile::exists(qmlImportScannerPath))
24 qmlImportScannerPath = QCoreApplication::applicationDirPath() + "/qmlimportscanner";
25···30 // Verify that we found a qmlimportscanner binary
31 if (!QFile::exists(qmlImportScannerPath)) {
32 LogError() << "qmlimportscanner not found at" << qmlImportScannerPath;
000
···1-From c00e310092d9aeb48adf21dd22f1ee4dbdbf5ebb Mon Sep 17 00:00:00 2001
2From: Nick Cao <nickcao@nichi.co>
3Date: Tue, 10 Oct 2023 10:17:00 -0400
4-Subject: [PATCH 10/11] qtbase: check in the QML folder of this library does
5- actually exist
67In a modularized installation, this folder will be the location where
8`qtbase` itself is installed, but `qtbase` does not have any QML
···12 1 file changed, 5 insertions(+), 2 deletions(-)
1314diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp
15-index 320095a972d..87ba0d4e24b 100644
16--- a/src/tools/macdeployqt/shared/shared.cpp
17+++ b/src/tools/macdeployqt/shared/shared.cpp
18-@@ -1297,9 +1297,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
19 }
20 for (const QString &importPath : qmlImportPaths)
21 argumentList << "-importPath" << importPath;
···3031 // In a modularized installation of qt as we have in Nix, instead, we will
32 // read the paths from the environment, as they are spread in multiple
33---
34-2.42.0
35-
···1+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2From: Nick Cao <nickcao@nichi.co>
3Date: Tue, 10 Oct 2023 10:17:00 -0400
4+Subject: [PATCH] qtbase: check in the QML folder of this library does actually
5+ exist
67In a modularized installation, this folder will be the location where
8`qtbase` itself is installed, but `qtbase` does not have any QML
···12 1 file changed, 5 insertions(+), 2 deletions(-)
1314diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp
15+index 2b972a76c49..96c61b3824a 100644
16--- a/src/tools/macdeployqt/shared/shared.cpp
17+++ b/src/tools/macdeployqt/shared/shared.cpp
18+@@ -1300,9 +1300,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
19 }
20 for (const QString &importPath : qmlImportPaths)
21 argumentList << "-importPath" << importPath;
···3031 // In a modularized installation of qt as we have in Nix, instead, we will
32 // read the paths from the environment, as they are spread in multiple
000
···179 clpm = throw "'clpm' has been removed from nixpkgs"; # Added 2024-04-01
180 collada-dom = opencollada; # added 2024-02-21
181 composable_kernel = throw "'composable_kernel' has been replaced with 'rocmPackages.composable_kernel'"; # Added 2023-10-08
0182 cpp-ipfs-api = cpp-ipfs-http-client; # Project has been renamed. Added 2022-05-15
183 crispyDoom = crispy-doom; # Added 2023-05-01
184 cryptowatch-desktop = throw "Cryptowatch Desktop was sunset on September 30th 2023 and has been removed from nixpkgs"; # Added 2023-12-22
···808 moneyplex = throw "'moneyplex' has been removed, as it was broken and unmaintained"; # Added 2024-02-28
809 mongodb-4_0 = throw "mongodb-4_0 has been removed, it's end of life since April 2022"; # Added 2023-01-05
810 mongodb-4_2 = throw "mongodb-4_2 has been removed, it's end of life since April 2023"; # Added 2023-06-06
0811 moonlander = throw "'moonlander' has been removed due to it being broken and unmaintained"; # Added 2023-11-26
812 moz-phab = mozphab; # Added 2022-08-09
813 mozart-binary = throw "'mozart-binary' has been renamed to/replaced by 'mozart2-binary'"; # Converted to throw 2023-09-10
···179 clpm = throw "'clpm' has been removed from nixpkgs"; # Added 2024-04-01
180 collada-dom = opencollada; # added 2024-02-21
181 composable_kernel = throw "'composable_kernel' has been replaced with 'rocmPackages.composable_kernel'"; # Added 2023-10-08
182+ cope = throw "'cope' has been removed, as it is broken in nixpkgs since it was added, and fixing it is not trivial"; # Added 2024-04-12
183 cpp-ipfs-api = cpp-ipfs-http-client; # Project has been renamed. Added 2022-05-15
184 crispyDoom = crispy-doom; # Added 2023-05-01
185 cryptowatch-desktop = throw "Cryptowatch Desktop was sunset on September 30th 2023 and has been removed from nixpkgs"; # Added 2023-12-22
···809 moneyplex = throw "'moneyplex' has been removed, as it was broken and unmaintained"; # Added 2024-02-28
810 mongodb-4_0 = throw "mongodb-4_0 has been removed, it's end of life since April 2022"; # Added 2023-01-05
811 mongodb-4_2 = throw "mongodb-4_2 has been removed, it's end of life since April 2023"; # Added 2023-06-06
812+ mongodb-4_4 = throw "mongodb-4_4 has been removed, it's end of life since April 2024"; # Added 2024-04-11
813 moonlander = throw "'moonlander' has been removed due to it being broken and unmaintained"; # Added 2023-11-26
814 moz-phab = mozphab; # Added 2022-08-09
815 mozart-binary = throw "'mozart-binary' has been renamed to/replaced by 'mozart2-binary'"; # Converted to throw 2023-09-10