Skip to content

Add support for NuShell (and other shells) via a configuration layer #40

@romancitodev

Description

@romancitodev

Hey!

So, in the last few years, NuShell has become a really awesome and loved shell. It’s Unix-like, multi-platform, and has some cool features like structured data pipelines. It’d be amazing if this project supported it too!

Right now, it works great with zsh, bash, fish, and atuin, but adding support for NuShell (and ideally any shell) would make it way more flexible and appealing to more people.

Here’s what I’m thinking:

The Idea

Add a configuration layer so users can define their shell and its settings in a simple config file. Something like this:

# ~/.config/wrapped.toml

[shell]
infer = true                # Automatically detect shell if true
cmd = ""                    # Path to the shell binary (if not inferred)
history_path = ""           # Path to the shell history
prompt_command = ""         # Optional: command to fetch history

With infer = true as the default, the tool could try to detect the current shell automatically (e.g., using $SHELL or similar). If the user wants more control, they can set infer = false and manually define cmd and history_path.

This way, it’s super flexible while still being user-friendly out of the box.

How It Might Work

  • By default, the tool would try to infer the shell and look for its history file based on common conventions.
  • If infer = false, it would just rely on the user-provided paths.
  • Keep support for zsh, bash, fish, etc., as-is to avoid breaking anything for current users.

Let me know what you think! I can help test it with NuShell if needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions