Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
7fce89d
graphene-hardened-malloc: 2025092700 -> 14
Golbinex Apr 17, 2026
dbe6a06
schedctl: init at 1.2.1
koalalorenzo May 11, 2026
084c166
nixos/qbittorrent: drop trailing slash from `profileDir`
connor-grady May 29, 2026
98ada3a
waypaper-engine: init at 3.0.0
ZainKergaye Jun 3, 2026
e32b3af
nixos/nginx: setup logrotate to send kill USR1 signal only once
jbgi Jul 5, 2026
553e5b5
oxigraph: 0.5.7 -> 0.5.9
r-ryantm Jul 7, 2026
4b42a5e
worktrunk: 0.66.0 -> 0.68.0
r-ryantm Jul 19, 2026
c3ed2ea
vita3k: 4064 -> 4065
r-ryantm Jul 20, 2026
3b47c1f
gitea-mcp-server: 1.3.0 -> 1.4.0
r-ryantm Jul 20, 2026
5209fd4
earthly: move to earthbuild
konradmalik Nov 19, 2025
40fa42a
spidermonkey: add update script
whispersofthedawn Jul 21, 2026
4ee0dea
helmfile: 1.6.0 -> 1.7.1
r-ryantm Jul 22, 2026
5cfe5f3
namecoind: 28.0 -> 31.0
lukas-sgx Jul 2, 2026
88b2482
cljfmt: 0.16.4 -> 0.16.5
r-ryantm Jul 23, 2026
c3caf24
vscode-extensions.tombi-toml.tombi: 1.1.7 -> 1.2.4
r-ryantm Jul 23, 2026
724df36
gtk-gnutella: disable gui to avoid gtk2
doronbehar Jul 23, 2026
2705e78
vimPlugins: update on 2026-07-23
khaneliman Jul 23, 2026
cce3670
vimPlugins.zk-nvim: 0.4.10 -> 0.4.11
khaneliman Jul 23, 2026
5396ce4
vimPlugins.vimtex: 2.17-unstable -> 2.18
khaneliman Jul 23, 2026
f677bae
vimPlugins.parrot-nvim: 2.5.1-unstable -> 2.6.0
khaneliman Jul 23, 2026
1e9363f
vimPlugins.vim-xkbswitch: 0.20-unstable -> 0.21
khaneliman Jul 23, 2026
d6a7bd5
vimPlugins.nvim-lspconfig: 2.10.0 -> 2.11.0
khaneliman Jul 23, 2026
505669f
python3Packages.starlette-admin: 0.17.0 -> 0.17.1
r-ryantm Jul 24, 2026
b85d98e
nixos/lxmd: init
drupol Jun 10, 2026
be36232
nixos/rnsd: init
drupol Jun 10, 2026
69b6415
nginxStable: apply patches for gcc 16 in rtmp module
whispersofthedawn Jul 24, 2026
18b86c8
python3Packages.pydemumble: 0.1.2 -> 0.1.3
r-ryantm Jul 24, 2026
c936eb2
prometheus-redis-exporter: 1.87.0 -> 1.88.0
r-ryantm Jul 25, 2026
a8d9220
element-{web,desktop}: 1.12.23 -> 1.12.24
lavecat Jul 24, 2026
9e12450
namespace-cli: 0.0.531 -> 0.0.550
r-ryantm Jul 25, 2026
6bff6ec
wizer: 10.0.0 -> 11.0.3
tbutter May 19, 2026
9aefb1f
gamescope: 3.16.24 -> 3.16.25
r-ryantm Jul 25, 2026
2efbe86
llama-cpp: 10063 -> 10121
JohnRTitor Jul 25, 2026
a94b09f
xmodmap: 1.0.11 -> 1.0.12
r-ryantm Jul 25, 2026
1263a17
python3Packages.whenever: 0.10.2 -> 0.10.3
r-ryantm Jul 25, 2026
8540bce
phantun: init at 0.8.1
peigongdsd Jul 12, 2026
6466a6c
jetbrains.*-oss: mark as insecure
theCapypara Jul 25, 2026
5b0fc7e
edopro: Fix passthru.updateScript
OPNA2608 Jul 25, 2026
13ba359
kubelogin-oidc: 1.36.2 -> 1.36.3
r-ryantm Jul 25, 2026
d38e056
jetbrains: fix linux builder script for 2026.2 IDEs
theCapypara Jul 25, 2026
03631f8
jetbrains.*: 2026.1.* -> 2026.2.0.*
theCapypara Jul 25, 2026
9efd12f
nufmt: 0-unstable-2026-07-16 -> 0-unstable-2026-07-23
r-ryantm Jul 25, 2026
5ac617f
vscode-extensions.saoudrizwan.claude-dev: 4.0.8 -> 4.0.11
r-ryantm Jul 25, 2026
a63be66
schedctl: restricts to GNU/Linux only
koalalorenzo Jul 26, 2026
c01c953
stasis: 1.3.0 -> 1.4.0
r-ryantm Jul 26, 2026
b28fac5
vscode-extensions.ms-python.vscode-pylance: 2026.2.1 -> 2026.3.1
r-ryantm Jul 26, 2026
c5a3e11
models-dev: sdk-v0.0.5-unstable-2026-07-17 -> sdk-v0.0.5-unstable-202…
r-ryantm Jul 26, 2026
f9954f4
mongodb-atlas-cli: 1.56.0 -> 1.57.0
r-ryantm Jul 26, 2026
52bfc74
google-chrome: add aarch64-linux support
codgician Jul 26, 2026
742ae96
postgresql_19: 19beta1 -> 19beta2
wolfgangwalther Jul 26, 2026
ea53413
libargs: 6.4.9 -> 6.6.0
r-ryantm Jul 26, 2026
1a4991a
zandronum: build without gtk2 support
ShadowRZ Jul 26, 2026
866b923
androidStudioPackages.canary: 2026.1.4.1 -> 2026.1.4.2
r-ryantm Jul 26, 2026
7aa383a
rtk: 0.43.0 -> 0.44.0
r-ryantm Jul 26, 2026
0f319f7
json-tui: Fix linux build
afh Jul 26, 2026
6bfd39a
element-desktop: 1.12.23 -> 1.12.24 (#545187)
teutat3s Jul 26, 2026
35ad50c
edopro: Fix passthru.updateScript (#545645)
OPNA2608 Jul 26, 2026
05fabfe
graphene-hardened-malloc: 2025092700 -> 14 (#510863)
Prince213 Jul 26, 2026
e013e5e
androidStudioPackages.canary: 2026.1.4.1 -> 2026.1.4.2 (#545946)
JohnRTitor Jul 26, 2026
0dcfd77
limine: 12.5.1 -> 12.5.2
Prince213 Jul 26, 2026
ee5dd44
gtk-gnutella: disable gui to avoid gtk2 (#544900)
doronbehar Jul 26, 2026
7492b06
emacs.pkgs.org: update src hash
jian-lin Jul 26, 2026
ebe7510
stasis: 1.3.0 -> 1.4.0 (#545827)
llakala Jul 26, 2026
8627601
vscode-extensions.tombi-toml.tombi: 1.1.7 -> 1.2.4 (#544815)
llakala Jul 26, 2026
6ffe3f0
namespace-cli: 0.0.531 -> 0.0.550 (#538948)
llakala Jul 26, 2026
ae80835
helmfile: 1.6.0 -> 1.7.1 (#538393)
llakala Jul 26, 2026
dedc542
python3Packages.ufomerge: 1.9.6 -> 1.9.7
r-ryantm Jul 26, 2026
362b08f
oxigraph: 0.5.7 -> 0.5.9 (#539249)
llakala Jul 26, 2026
b24b67f
nixos/qbittorrent: drop trailing slash from `profileDir` (#525469)
llakala Jul 26, 2026
93f925c
qownnotes: 26.7.7 -> 26.7.9
r-ryantm Jul 26, 2026
2cf9acd
Revert "gitlab-container-registry: 4.39.0 -> 4.40.2"
leona-ya Jul 26, 2026
698d15f
models-dev: sdk-v0.0.5-unstable-2026-07-17 -> sdk-v0.0.5-unstable-202…
nixpkgs-ci[bot] Jul 26, 2026
147bfad
libargs: 6.4.9 -> 6.6.0, json-tui: fix linux build (#514868)
afh Jul 26, 2026
2e79337
nixos/qbittorrent: clarify profileDir option documentation
bluemonk Apr 29, 2026
a44df82
schedctl: init at 1.2.1 (#518782)
FliegendeWurst Jul 26, 2026
e211ad1
nixos/qbittorrent: clarify profileDir option documentation (#514837)
mdaniels5757 Jul 26, 2026
af50c1f
xmodmap: 1.0.11 -> 1.0.12 (#545628)
afh Jul 26, 2026
6d6798a
Revert "gitlab-container-registry: 4.39.0 -> 4.40.2" (#545979)
fabianhjr Jul 26, 2026
ca7ee27
google-chrome: add aarch64-linux support (#545870)
mdaniels5757 Jul 26, 2026
64ee494
mongodb-atlas-cli: 1.56.0 -> 1.57.0 (#545854)
nixpkgs-ci[bot] Jul 26, 2026
94a9730
emacs.pkgs.org: update src hash (#545964)
jian-lin Jul 26, 2026
275bc04
postgresql_19: 19beta1 -> 19beta2 (#545881)
wolfgangwalther Jul 26, 2026
34ce4d9
nixos/nginx: setup logrotate to send kill USR1 signal only once (#362…
leona-ya Jul 26, 2026
060f9ad
keycloak.plugins.scim-for-keycloak: drop
ap-1 Jul 14, 2026
05b2a58
keycloak.plugins.scim-keycloak-user-storage-spi: drop
ap-1 Jul 14, 2026
b3ea70d
keycloak.plugins: drop scim-for-keycloak and scim-keycloak-user-stora…
leona-ya Jul 26, 2026
e318e6a
nufmt: 0-unstable-2026-07-16 -> 0-unstable-2026-07-23 (#545773)
khaneliman Jul 26, 2026
b9790dd
fluffychat: 2.6.0 -> 2.8.0
twoneis Jul 20, 2026
c039df0
worktrunk: 0.66.0 -> 0.68.0 (#543421)
nixpkgs-ci[bot] Jul 26, 2026
09b4817
kubelogin-oidc: 1.36.2 -> 1.36.3 (#545750)
nixpkgs-ci[bot] Jul 26, 2026
3bce789
zandronum: build without gtk2 support (#545919)
Lassulus Jul 26, 2026
57a14d6
cargo-semver-checks: 0.48.0 -> 0.49.0
r-ryantm Jul 26, 2026
ed57080
nginxStable: apply patches for gcc 16 in rtmp module (#545419)
leona-ya Jul 26, 2026
39f2a26
jetbrains.*: oss: mark as insecure; others: 2026.1.* -> 2026.2.0.* (#…
leona-ya Jul 26, 2026
cff31ef
cljfmt: 0.16.4 -> 0.16.5 (#544792)
nixpkgs-ci[bot] Jul 26, 2026
7adb50f
nixos/authelia: use lib.types.externalPath
connor-grady Jul 5, 2026
80f015d
vscode-extensions.ms-python.vscode-pylance: 2026.2.1 -> 2026.3.1 (#54…
drupol Jul 26, 2026
3835256
vscode-extensions.saoudrizwan.claude-dev: 4.0.8 -> 4.0.11 (#545785)
drupol Jul 26, 2026
21cd65f
qownnotes: 26.7.7 -> 26.7.9 (#545977)
nixpkgs-ci[bot] Jul 26, 2026
3a2eed7
talos-pilot: 0.1.9 -> 0.1.11
r-ryantm Jul 26, 2026
24151b6
zerofs: 2.0.10 -> 2.1.1
r-ryantm Jul 26, 2026
fa31d73
limine: 12.5.1 -> 12.5.2 (#545958)
JohnRTitor Jul 26, 2026
db245e0
llama-cpp: 10063 -> 10121 (#545597)
JohnRTitor Jul 26, 2026
45dafe4
nixos/authelia: use lib.types.externalPath (#538576)
bjornfor Jul 26, 2026
f9a5955
python3Packages.ufomerge: 1.9.6 -> 1.9.7 (#545972)
jopejoe1 Jul 26, 2026
5737bef
vimPlugins: update on 2026-07-23 (#545001)
GaetanLepage Jul 26, 2026
4542486
rtk: 0.43.0 -> 0.44.0 (#545947)
GaetanLepage Jul 26, 2026
d75fa85
nixos/rnsd: init (#530406)
drupol Jul 26, 2026
bb252ba
gamescope: 3.16.24 -> 3.16.25 (#545589)
mdaniels5757 Jul 26, 2026
8bc2965
python3Packages.rns: 1.4.1 -> 1.4.2
drupol Jul 26, 2026
9e06f61
vita3k: 4064 -> 4065 (#543768)
nixpkgs-ci[bot] Jul 26, 2026
03f2d2e
cargo-semver-checks: 0.48.0 -> 0.49.0 (#546001)
nixpkgs-ci[bot] Jul 26, 2026
7d6ff01
zerofs: 2.0.10 -> 2.1.1 (#546011)
nixpkgs-ci[bot] Jul 26, 2026
089465d
python3Packages.rns: 1.4.1 -> 1.4.2 (#546019)
drupol Jul 26, 2026
f1a225a
fluffychat: 2.6.0 -> 2.8.0 (#543772)
mkg20001 Jul 26, 2026
9f9085f
gitea-mcp-server: 1.3.0 -> 1.4.0 (#543839)
mdaniels5757 Jul 26, 2026
d4fb008
spidermonkey: add update script (#544248)
mdaniels5757 Jul 26, 2026
624af66
phantun: init at 0.8.1 (#541123)
mdaniels5757 Jul 26, 2026
ccde0ef
python3Packages.whenever: 0.10.2 -> 0.10.3 (#545630)
pbsds Jul 26, 2026
08b48fc
wizer: 10.0.0 -> 11.0.3 (#523440)
pbsds Jul 26, 2026
d7949fe
talos-pilot: 0.1.9 -> 0.1.11 (#546010)
nixpkgs-ci[bot] Jul 26, 2026
76ceb2f
python3Packages.pydemumble: 0.1.2 -> 0.1.3 (#545431)
pbsds Jul 26, 2026
d3126d2
namecoind: 28.0 -> 31.0 (#537950)
pbsds Jul 26, 2026
8075e4e
waypaper-engine: init at 3.0.0 (#527401)
SuperSandro2000 Jul 26, 2026
16f0c35
earthly: move to earthbuild 0.8.17 (#463269)
SuperSandro2000 Jul 26, 2026
bba30a9
prometheus-redis-exporter: 1.87.0 -> 1.88.0 (#545505)
Ma27 Jul 26, 2026
e7a6fc4
python3Packages.starlette-admin: 0.17.0 -> 0.17.1 (#545097)
pbsds Jul 26, 2026
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
4 changes: 4 additions & 0 deletions doc/release-notes/rl-2611.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@

- `fflogs` has been removed because it was no longer functional. Users should switch to `archon-lite`.

- `keycloak.plugins.scim-for-keycloak` has been removed. The upstream open-source project is [end-of-life](https://github.com/Captain-P-Goldfish/scim-for-keycloak) and its last release targets Keycloak 20, which is incompatible with the packaged Keycloak.

- `keycloak.plugins.scim-keycloak-user-storage-spi` has been removed. Upstream has moved the plugin into Keycloak itself as the experimental `ipatuura` federation provider and no longer maintains the standalone repository.

- `services.mysql` now sets `root@localhost` authentication to `auth_socket` when used with `mysql` or `percona-server`.
Existing deployments will also be adjusted if possible. See the [security advisory GHSA-6qxx-6rg8-c4p8](https://github.com/NixOS/nixpkgs/security/advisories/GHSA-6qxx-6rg8-c4p8) for more information.

Expand Down
5 changes: 5 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
Expand Up @@ -14958,6 +14958,11 @@
githubId = 361496;
name = "Nikola Knežević";
};
koalalorenzo = {
name = "Lorenzo Setale";
github = "koalalorenzo";
githubId = 33528;
};
koffydrop = {
github = "koffydrop";
githubId = 67888720;
Expand Down
30 changes: 30 additions & 0 deletions nixos/doc/manual/redirects.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,24 @@
"module-services-keycloak-unix-socket": [
"index.html#module-services-keycloak-unix-socket"
],
"module-services-lxmd": [
"index.html#module-services-lxmd"
],
"module-services-lxmd-communication-backbone": [
"index.html#module-services-lxmd-communication-backbone"
],
"module-services-lxmd-communication-rpc": [
"index.html#module-services-lxmd-communication-rpc"
],
"module-services-lxmd-communication-with-rnsd": [
"index.html#module-services-lxmd-communication-with-rnsd"
],
"module-services-lxmd-health-check": [
"index.html#module-services-lxmd-health-check"
],
"module-services-lxmd-quickstart": [
"index.html#module-services-lxmd-quickstart"
],
"module-services-mautrix-discord": [
"index.html#module-services-mautrix-discord"
],
Expand Down Expand Up @@ -104,6 +122,18 @@
"module-services-onedrive": [
"index.html#module-services-onedrive"
],
"module-services-rnsd": [
"index.html#module-services-rnsd"
],
"module-services-rnsd-hardware-access": [
"index.html#module-services-rnsd-hardware-access"
],
"module-services-rnsd-health-check": [
"index.html#module-services-rnsd-health-check"
],
"module-services-rnsd-quickstart": [
"index.html#module-services-rnsd-quickstart"
],
"module-services-tandoor-recipes-migrating-media-option-move": [
"index.html#module-services-tandoor-recipes-migrating-media-option-move",
"index.html#module-services-tandoor-recipes-migrating-media-option-1"
Expand Down
4 changes: 4 additions & 0 deletions nixos/doc/manual/release-notes/rl-2611.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,10 @@

- [NordVPN](https://github.com/NordSecurity/nordvpn-linux), a NordVPN client for linux. Available as [services.nordvpn](options.html#opt-services.nordvpn.enable).

- [RNSD](https://reticulum.network/), the Reticulum Network Stack Daemon. It provides a secure and efficient way to communicate over the Reticulum Network. Available as [services.rnsd](#opt-services.rnsd.enable).

- [LXMD](https://github.com/markqvist/LXMF), a universal, distributed and secure messaging protocol for Reticulum. Available as [services.lxmd](#opt-services.lxmd.enable).

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

<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
Expand Down
2 changes: 2 additions & 0 deletions nixos/modules/module-list.nix
Original file line number Diff line number Diff line change
Expand Up @@ -1289,6 +1289,7 @@
./services/networking/logmein-hamachi.nix
./services/networking/lokinet.nix
./services/networking/lxd-image-server.nix
./services/networking/lxmd.nix
./services/networking/magic-wormhole-mailbox-server.nix
./services/networking/matterbridge.nix
./services/networking/meshtasticd.nix
Expand Down Expand Up @@ -1386,6 +1387,7 @@
./services/networking/redsocks.nix
./services/networking/reframe.nix
./services/networking/resilio.nix
./services/networking/rnsd.nix
./services/networking/robustirc-bridge.nix
./services/networking/rosenpass.nix
./services/networking/routedns.nix
Expand Down
225 changes: 225 additions & 0 deletions nixos/modules/services/networking/lxmd.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
# LXMD {#module-services-lxmd}

[LXMF](https://github.com/markqvist/lxmf) daemon (`lxmd`).

This module runs `lxmd` as a systemd service with `DynamicUser = true` and
`StateDirectory = "lxmd"` directives.

## Quickstart {#module-services-lxmd-quickstart}

A minimal setup:

```nix
{
services.lxmd.enable = true;
}
```

With custom LXMD and RNSD settings:

```nix
{
services.lxmd = {
enable = true;

identityFile = "<path-to-lxmd-identity-file>";

settings = {
propagation-node = {
autopeer = true;
};
};

rnsd = {
identityFile = "<path-to-rnsd-identity-file>";

settings = {
reticulum = {
require_shared_instance = true;
is_shared_instance = true;
enable_transport = true;
instance_name = "default";
shared_instance_type = "unix";
};
};
};
};
}
```

At startup, settings provided through
[`services.lxmd.settings`](#opt-services.lxmd.settings),
[`services.lxmd.identityFile`](#opt-services.lxmd.identityFile), and
[`services.lxmd.rnsd.settings`](#opt-services.lxmd.rnsd.settings) are copied
into the service state directory.

## Health Check {#module-services-lxmd-health-check}

You can optionally wait for `lxmd` to become responsive during startup using
`lxmd --status`:

```nix
{
services.lxmd = {
enable = true;

healthCheck = {
enable = true;
intervalSeconds = 2;
timeoutSeconds = 120;
};
};
}
```

When enabled, startup fails if `lxmd --status` does not succeed before
[`services.lxmd.healthCheck.timeoutSeconds`](#opt-services.lxmd.healthCheck.timeoutSeconds).

## Communicating With RNSD {#module-services-lxmd-communication-with-rnsd}

Even though both services are hardened (via Systemd's `DynamicUser = true` and
`StateDirectory = "lxmd"` directives), `lxmd` can still communicate with `rnsd`
in several ways.

### Option 1: Shared Instance Over Unix RPC {#module-services-lxmd-communication-rpc}

Use a shared Reticulum instance exposed through a local Unix RPC socket:

```nix
{
services.rnsd = {
enable = true;

identityFile = "<path-to-rnsd-identity-file>";

settings = {
reticulum = {
enable_transport = true;
share_instance = true;
instance_name = "default";
shared_instance_type = "unix";
};
interfaces = {
auto = {
type = "AutoInterface";
enabled = true;
};
};
};
};

services.lxmd = {
enable = true;

identityFile = "<path-to-lxmd-identity-file>";

settings = {
# LXMD settings, run `lxmd --exampleconfig` for details
};

rnsd = {
identityFile = "<path-to-rnsd-identity-file>";

settings = {
reticulum = {
require_shared_instance = true;
is_shared_instance = true;
enable_transport = true;
instance_name = "default";
shared_instance_type = "unix";
};
};
};
};
}
```

In this model, `lxmd` points to an RNS configuration that joins the shared
instance. Both RNS transport identity files in `rnsd` and `lxmd` must be the
same. If you use different transport identity files, then set the same `rpc_key`
in both `rnsd` configurations to allow them to communicate securely.

It is also possible to use a shared instance over TCP, please refer to the
[Reticulum documentation](https://reticulum.network/manual/) for details.

### Option 2: Isolated Instances Connected Through BackboneInterface {#module-services-lxmd-communication-backbone}

Reticulum applications (`rnsd`, `lxmd`, and others) can be isolated by running:

- one primary `rnsd` service instance as a non-privileged service account,
- one instance per application, each with its own user and configuration,
- a `BackboneInterface` between each isolated application instance and the
primary instance.

On the primary `rnsd` instance, the `BackboneInterface` is configured to accept
connections from the isolated instances, as such:

```nix
{
services.rnsd = {
enable = true;

identityFile = "<path-to-rnsd-identity-file>";

settings = {
reticulum = {
# RNSD settings, run `rnsd --exampleconfig` for details
};
interfaces = {
root = {
type = "BackboneInterface";
enabled = true;
mode = "gateway";
discoverable = true;
listen_ip = "127.0.0.1";
listen_port = 4242;
};
};
};
};
}
```

Then, on each isolated application instance, the `BackboneInterface` is
configured to connect to the primary instance:

```nix
{
services.lxmd = {
enable = true;

identityFile = "<path-to-lxmd-identity-file>";

settings = {
# LXMD settings, run `lxmd --exampleconfig` for details
};

rnsd = {
identityFile = "<path-to-rnsd-identity-file>";

settings = {
reticulum = {
# RNSD settings, run `rnsd --exampleconfig` for details
};
interfaces = {
local = {
type = "BackboneInterface";
enabled = true;
target_host = "127.0.0.1";
target_port = 4242;
};
};
};
};
};
}
```

The primary `rnsd` instance serves system-local `BackboneInterface` links for
applications and external interfaces for the wider network. Each isolated app
uses its own RNS configuration directory (for example with
`--rnsconfig <path>`), and that local instance connects to the root instance
through `BackboneInterface`.

Running multiple instances increases memory usage and adds one extra hop, but
the performance impact is generally negligible.
Loading
Loading