From 3d20dcde3e058f5c24a9730c7e7e46163b60fdb1 Mon Sep 17 00:00:00 2001
From: Sridhar Ratnakumar <3998+srid@users.noreply.github.com>
Date: Tue, 21 Oct 2025 08:34:13 -0400
Subject: [PATCH 1/4] chore(ci): Add vira configuration
---
vira.hs | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100644 vira.hs
diff --git a/vira.hs b/vira.hs
new file mode 100644
index 00000000..e1007ca6
--- /dev/null
+++ b/vira.hs
@@ -0,0 +1,22 @@
+-- CI configuration
+\ctx pipeline ->
+ let
+ isMaster = ctx.branch == "main"
+ hf = [("haskell-flake", ".")]
+ in pipeline
+ { build.systems =
+ [ "x86_64-linux"
+ , "aarch64-darwin"
+ ]
+ , build.flakes =
+ [ "./example/simple" { overrideInputs = [("services-flake", ".")] }
+ , "./example/llm" { overrideInputs = [("services-flake", ".")] }
+ , "./example/share-services/pgweb" { overrideInputs = [("services-flake", "."), ("northwind", "path:./example/share-services/northwind")] }
+ , "./example/without-flake-parts" { overrideInputs = [("services-flake", ".")] }
+ , "./test" { overrideInputs = [("services-flake", ".")] }
+ , "./dev" { overrideInputs = [("services-flake", ".")] }
+ , "./doc"
+ ]
+ , signoff.enable = True
+ , cache.url = if isMaster then Just "https://cache.nixos.asia/oss" else Nothing
+ }
From 9ed531e00d9dda70b65ad886e168342b00143b16 Mon Sep 17 00:00:00 2001
From: Sridhar Ratnakumar <3998+srid@users.noreply.github.com>
Date: Tue, 21 Oct 2025 08:34:51 -0400
Subject: [PATCH 2/4] fix
---
vira.hs | 1 -
1 file changed, 1 deletion(-)
diff --git a/vira.hs b/vira.hs
index e1007ca6..1527c493 100644
--- a/vira.hs
+++ b/vira.hs
@@ -2,7 +2,6 @@
\ctx pipeline ->
let
isMaster = ctx.branch == "main"
- hf = [("haskell-flake", ".")]
in pipeline
{ build.systems =
[ "x86_64-linux"
From 89ca040b20a5cbdda5abacf8b1762504dc1724c5 Mon Sep 17 00:00:00 2001
From: Sridhar Ratnakumar
Date: Sun, 7 Dec 2025 13:31:03 -0500
Subject: [PATCH 3/4] git: Ignore all result files (for vira)
---
.gitignore | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index fb0b6e93..53ce9fca 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,6 @@
.direnv
# created when `just test ` is used
-/result
+/**/result
# created when `just run ` is used
/test/data
From 71f27ef18c5e47cd3a245a0fceeb4a75034fcc16 Mon Sep 17 00:00:00 2001
From: Sridhar Ratnakumar
Date: Sun, 7 Dec 2025 17:17:50 -0500
Subject: [PATCH 4/4] feat(cassandra): Add `storagePort` option
---
nix/services/cassandra.nix | 7 +++++++
nix/services/cassandra_test.nix | 6 +++---
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/nix/services/cassandra.nix b/nix/services/cassandra.nix
index 8c23b3ca..49e9b11a 100644
--- a/nix/services/cassandra.nix
+++ b/nix/services/cassandra.nix
@@ -21,6 +21,12 @@ in
default = 9042;
};
+ storagePort = lib.mkOption {
+ type = types.port;
+ description = "port for the storage engine to listen for clients on";
+ default = 7000;
+ };
+
seedAddresses = lib.mkOption {
type = types.listOf types.str;
default = [ "127.0.0.1" ];
@@ -67,6 +73,7 @@ in
start_native_transport = config.allowClients;
listen_address = config.listenAddress;
native_transport_port = config.nativeTransportPort;
+ storage_port = config.storagePort;
commitlog_sync = "batch";
commitlog_sync_batch_window_in_ms = 2;
cluster_name = config.clusterName;
diff --git a/nix/services/cassandra_test.nix b/nix/services/cassandra_test.nix
index 07ff5592..e4080fc6 100644
--- a/nix/services/cassandra_test.nix
+++ b/nix/services/cassandra_test.nix
@@ -1,9 +1,9 @@
{ pkgs, config, ... }: {
services.cassandra."cass1" = {
enable = true;
- # support for aarch64-darwin was added in cassandra-4
- # https://github.com/apache/cassandra/blob/a87055d56a33a9b17606f14535f48eb461965b82/CHANGES.txt#L192
- package = pkgs.cassandra_4;
+ package = pkgs.cassandra;
+ # Port 7000 is reserved on macOS (used by AirPlay/Bonjour), so use 7001
+ storagePort = 7001;
};
settings.processes.test =