49 lines
1.6 KiB
Markdown
49 lines
1.6 KiB
Markdown
|
Contents
|
||
|
========
|
||
|
* [Introduction](#introduction)
|
||
|
* [Scope](#scope)
|
||
|
* [Installation](#installation)
|
||
|
|
||
|
## Introduction
|
||
|
*Shitbox* is inspired by the project [busybox](https://busybox.net/) but with a
|
||
|
much more limited scope. While Busybox aims to be "*The swiss army knife of
|
||
|
embedded linux*" you can think of shitbox as being more like "*The Harbor Freight
|
||
|
multi tool of embedded linux*".
|
||
|
|
||
|
All joking aside the utilities which are present function mostly as expected and
|
||
|
the code aims to be robust. It's written in Rust, not C, for whatever that's
|
||
|
worth. Like Busybox it is a multi-call binary which is therefore able to share
|
||
|
code between applets, making for an overall smaller binary.
|
||
|
|
||
|
## Scope
|
||
|
*Shitbox* does not aim to supply an entire system of utilities, but rather a
|
||
|
a subset of the most common Unix shell utilities. Things which are out of scope
|
||
|
for the project include:
|
||
|
- Shells
|
||
|
- Network servers
|
||
|
- Kernel module handling utilities
|
||
|
The code aims to be portable across **Unix** variants, ie Linux and BSD, but not
|
||
|
MacOS or Windows. Development occurs on Linux, so if your OS is more exotic then
|
||
|
YMMV.
|
||
|
|
||
|
## Installation
|
||
|
Building is done using the official Rust toolchain. It is recommended that you
|
||
|
install your toolchain using Rustup rather than distro packages, as old compiler
|
||
|
versions are not supported.
|
||
|
```Sh
|
||
|
cargo build --release
|
||
|
```
|
||
|
The `bootstrap` applet provides facility for installing the binary, creating all
|
||
|
required symlinks and installing some nice to haves such as **Unix man pages**
|
||
|
and **shell completions** [see below].
|
||
|
```Sh
|
||
|
target/release/shitbox help bootstrap
|
||
|
```
|
||
|
### Supported shells for completions
|
||
|
- Bash
|
||
|
- Fish
|
||
|
- NuShell
|
||
|
- PowerShell
|
||
|
- Zsh
|
||
|
|