aloisw | diff --git a/overlay.nix b/overlay.nix
--- a/overlay.nix
+++ b/overlay.nix
@@ -26,7 +26,7 @@ meowLib.runOnDirectory (path: final.call
_finalLixes: prevLixes: {
git = prevLixes.git.overrideScope (
_finalLix: prevLix: {
- lix = prevLix.lix.overrideAttrs (old: {
+ lix = (prevLix.lix.override { sqlite = final.sqlite-wal2; }).overrideAttrs (old: {
version = "2.95.0-pre-${builtins.substring 0 12 source.lix.rev}";
src = source.lix;
patches = old.patches or [ ] ++ meowLib.collectPatches ./patches/lix;
diff --git a/patches/lix/wal2.diff b/patches/lix/wal2.diff
new file mode 100644
--- /dev/null
+++ b/patches/lix/wal2.diff
@@ -0,0 +1,13 @@
+diff --git a/lix/libstore/sqlite.cc b/lix/libstore/sqlite.cc
+index fe606bce20..81f71a8b9f 100644
+--- a/lix/libstore/sqlite.cc
++++ b/lix/libstore/sqlite.cc
+@@ -134,7 +134,7 @@
+ // Set the SQLite journal mode.
+ // WAL mode is fastest, so it's the default.
+ if (settings.useSQLiteWAL) {
+- exec("pragma main.journal_mode = wal", always_progresses);
++ exec("pragma main.journal_mode = wal2", always_progresses);
+ /* persist the WAL files when the DB connection is closed.
+ * This allows for read-only connections without any write permissions
+ * on the state directory to succeed on a closed database. Setting the
diff --git a/pkgs/sqlite-wal2/package.nix b/pkgs/sqlite-wal2/package.nix
new file mode 100644
--- /dev/null
+++ b/pkgs/sqlite-wal2/package.nix
@@ -0,0 +1,22 @@
+# SPDX-FileCopyrightText: Alois Wohlschlager <alois1@gmx-topmail.de>
+# SPDX-License-Identifier: MIT
+{
+ stdenv,
+ fetchurl,
+ readline,
+}:
+stdenv.mkDerivation {
+ pname = "sqlite-wal2";
+ version = "3.52.0-unstable-2025-11-28";
+
+ src = fetchurl {
+ url = "https://sqlite.org/src/tarball/sqlite-20251128204824-18d8e307df.tar.gz";
+ hash = "sha256-ELgz1zlIljJWFhunjixDjS2yeYGHjVl3m12v4XFKruU=";
+ };
+
+ strictDeps = true;
+
+ buildInputs = [ readline ];
+
+ configureFlags = [ "--with-readline-header=${readline.dev}/include/readline/readline.h" ];
+}
I wonder if I will regret this… | 19:43:02 |