| Crates.io | softshell |
| lib.rs | softshell |
| version | 0.0.2 |
| created_at | 2025-07-23 07:34:15.023159+00 |
| updated_at | 2025-07-23 07:59:01.87808+00 |
| description | Lua-configured shell that tries to be small and light but configurable as possible |
| homepage | https://kinoite.github.io/sfsh |
| repository | https://github.com/kinoite/softshell |
| max_upload_size | |
| id | 1764445 |
| size | 44,586 |
A simple, customizable shell built with Rust, featuring Lua for flexible configuration and dynamic modules. sfsh (Soft Shell) aims to provide a fast, extensible, and personalized command-line experience.
sfsh's capabilities by writing and integrating custom Lua modules.To install softshell, ensure you have Rust and Cargo installed, then run the following command:
cargo install softshell
This will install the sfsh executable to your Cargo bin directory (e.g., ~/.cargo/bin). Make sure this directory is in your system's PATH. Note on Glyphs: For the full visual experience of advanced prompts (like the "Pinnacle of Prettiness" theme), it is highly recommended to use a Nerd Font in your terminal emulator.
sfsh looks for its main configuration file (config.lua) in the following order:
You can find a simple example of a configuration file here (link to your GitHub repo's simple config). This file defines:
sfsh's extensibility comes from its Lua module system. You can write your own Lua files and place them in the directory specified by modules_path in your config.lua.
For example, the Softhostname module (used to fetch the hostname reliably) is a separate Lua file:
softhostname.lua
Once softshell is installed, simply run sfsh from your terminal: sfsh
You can then type commands, and if you have a mycommands table defined in your Lua config, you can call those functions directly (e.g., mycommands.hello()
Contributions are always welcome! If you have ideas for features, bug reports, or want to contribute code, please feel free to open issues or submit pull requests on the GitHub repository.
softshell is distributed under the terms of the Apache License, Version 2.0.