File collision (bin/is-docker) when enabling both oracle and summarize as bundledPlugins #28

Open
opened 2026-02-15 17:04:36 -05:00 by yindo · 0 comments
Owner

Originally created by @TorosFanny on GitHub (Feb 12, 2026).

Description:
There is a file collision issue in the openclaw Nix module when multiple plugins from nix-steipete-tools are enabled. Both the oracle and summarize packages include a binary located at /bin/is-docker, which causes the build to fail during the environment activation or generation phase.

Environment:

  • OS: NixOS

Module: openclaw Home Manager / NixOS module

Upstream Packages: nix-steipete-tools (referenced via openclaw.inputs)

Steps to Reproduce:
Enable both oracle and summarize within the programs.openclaw.bundledPlugins configuration:

programs.openclaw = {
  enable = true;
  bundledPlugins = {
    oracle.enable = true;
    summarize.enable = true;
    # ... other config
  };
};

Actual Behavior:
The build fails due to a file collision between the two packages:

error: collision between '/nix/store/...-oracle-0.8.5/bin/is-docker' and '/nix/store/...-summarize-0.8.5/bin/is-docker'

Current Workaround (Inconsistent):
I attempted to resolve this by manually adding the packages to home.packages with explicit lib.lowPrio and lib.hiPrio settings:

home.packages = let
  tools = mypkgs.openclaw.inputs.nix-steipete-tools.packages.${pkgs.system};
in [
  (lib.lowPrio tools.oracle)
  (lib.hiPrio tools.summarize)
];

However, this workaround is not always effective. While it may resolve the collision in certain user environments, it fails to fix the issue in others (such as specific service accounts or different profile configurations), suggesting that the collision needs to be handled within the module logic itself or at the package source.

Suggested Fix:
The openclaw module should ideally handle these collisions automatically (e.g., by applying priorities internally) or the upstream nix-steipete-tools should avoid exposing common build utilities like is-docker in the public bin/ directory of every package.

Originally created by @TorosFanny on GitHub (Feb 12, 2026). **Description:** There is a file collision issue in the `openclaw` Nix module when multiple plugins from `nix-steipete-tools` are enabled. Both the `oracle` and `summarize` packages include a binary located at `/bin/is-docker`, which causes the build to fail during the environment activation or generation phase. **Environment:** * **OS:** NixOS **Module:** `openclaw` Home Manager / NixOS module **Upstream Packages:** `nix-steipete-tools` (referenced via `openclaw.inputs`) **Steps to Reproduce:** Enable both `oracle` and `summarize` within the `programs.openclaw.bundledPlugins` configuration: ```nix programs.openclaw = { enable = true; bundledPlugins = { oracle.enable = true; summarize.enable = true; # ... other config }; }; ``` **Actual Behavior:** The build fails due to a file collision between the two packages: ```text error: collision between '/nix/store/...-oracle-0.8.5/bin/is-docker' and '/nix/store/...-summarize-0.8.5/bin/is-docker' ``` **Current Workaround (Inconsistent):** I attempted to resolve this by manually adding the packages to `home.packages` with explicit `lib.lowPrio` and `lib.hiPrio` settings: ```nix home.packages = let tools = mypkgs.openclaw.inputs.nix-steipete-tools.packages.${pkgs.system}; in [ (lib.lowPrio tools.oracle) (lib.hiPrio tools.summarize) ]; ``` However, **this workaround is not always effective**. While it may resolve the collision in certain user environments, it fails to fix the issue in others (such as specific service accounts or different profile configurations), suggesting that the collision needs to be handled within the module logic itself or at the package source. **Suggested Fix:** The `openclaw` module should ideally handle these collisions automatically (e.g., by applying priorities internally) or the upstream `nix-steipete-tools` should avoid exposing common build utilities like `is-docker` in the public `bin/` directory of every package.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: openclaw/nix-openclaw#28