Skip to content

Suggestion: config/flag that restricts dorothy from installing further packages/dependencies. #263

@octavian-one

Description

@octavian-one

Add system-wide configuration for automatic package installation behavior

Issue Type

Enhancement Request

Current Behavior

When running certain Dorothy commands (like get-filesystem), the system automatically attempts to install required packages without explicit user confirmation. In the observed case, the ripgrep utility installation process began automatically as part of the command execution.

Desired Behavior

Add a system-wide configuration option that allows users to control package installation behavior:

  • Allow users to set whether package installations should be automatic or require confirmation
  • Potentially support different levels of control:
    • Always ask
    • Never ask (automatic)
    • Ask only for new packages
    • Ask based on package size/impact

Use Case

Users may want to:

  • Prevent unexpected package installations
  • Review package requirements before installation
  • Maintain stricter control over system modifications
  • Understand dependencies being added to their system

Suggested Implementation

  1. Add a new configuration option to support the different levels of control.
  2. Modify existing commands to respect configuration
  3. If set to "ask", present a clear prompt:
The command 'get-filesystem' requires the following packages:
- ripgrep from source: https://github.com/BurntSushi/ripgrep

Do you want to install these packages? [y/N]

Technical Notes

  • Should maintain backward compatibility
  • Could potentially be implemented per-package

Additional Context

This was observed while running get-filesystem, which triggered the setup_util_ripgrep installation process without user confirmation. While the automatic installation is convenient, it may not be desired in all environments or situations.

Let me know if you'd like me to clarify or expand on any part of this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementImprovement or suggestion

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions