Metadata-Version: 2.3
Name: nercone-shell
Version: 0.3.3
Summary: Modern shell for Developers
Author: Nercone
Author-email: Nercone <nercone@diamondgotcat.net>
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Dist: nercone-modern
Requires-Dist: pyreadline3 ; sys_platform == 'win32'
Requires-Python: >=3.8
Description-Content-Type: text/markdown


<img width="1240" alt="Screenshot" src="https://github.com/user-attachments/assets/e4f2ea8d-9ec0-465d-8d49-9bd7763e0283" />

# Nersh (Nercone Shell)
Modern shell for Developers

## Requiments
- CPython 3.9+
- `uv` [PyPI↗︎](https://pypi.org/project/uv/) or `pip3` [PyPI↗︎](https://pypi.org/project/pip/) 
- `nercone-modern` [PyPI↗︎](https://pypi.org/project/nercone-modern/)

## Installation

### using uv (recommended)
```
uv tool install nercone-shell
```

### using pip3

**System Python:**
```
pip3 install nercone-shell --break-system-packages
```

**Venv Python:**
```
pip3 install nercone-shell
```

## Update

### using uv (recommended)
```
uv tool install nercone-shell --upgrade
```

### using pip3

**System Python:**
```
pip3 install nercone-shell --upgrade --break-system-packages
```

**Venv Python:**
```
pip3 install nercone-shell --upgrade
```

## Usage
```
nersh
```

## Configuration
The configuration file is usually located at `~/.nercone/nercone-shell/config.json`.
If the file does not exist when Nersh starts, it will be automatically created.

The following is the default configuration file:
```
{
    "customization": {
        "show_version": true,
        "accent_color": "blue",
        "override_env": {
            "SHELL": "None"
        },
        "autoruns": [
            "<path to home directory>/.nercone/nercone-shell/autostart.sh"
        ]
    },
    "compatibility": {
        "report_invisible_characters": false
    }
}
```

### Customization
These settings customize the behavior of Nersh.
- `show_version`: Sets whether to display version information at startup.
- `accent_color`: Accent color used for prompts etc.
- `override_env`: Sets the environment variables you want to set at startup in dictionary format.
- `autoruns`: Sets the shell scripts you want to run at startup in array format.

### Compatibility
This setting allows Nersh to function properly in special environments.
- `report_invisible_characters`: A Boolean value that enables reporting of invisible characters to readline, which is necessary in some environments, such as Linux without a GUI (TUI only).
