77 lines
2.5 KiB
Plaintext
77 lines
2.5 KiB
Plaintext
“Seek not to walk the path of the masters; seek what they sought.”
|
||
– Matsuo Basho
|
||
|
||
The Bonsai harakit is an alternative to the standard POSIX utility set that
|
||
aims to be simpler, easier, and more powerful than its counterpart. These tools
|
||
are the result of careful examination of the current state of POSIX and common
|
||
Unix utilities. They represent a vision of accomplishing everyday use cases
|
||
with tools that follow the Unix philosophy of “do one thing and do it well”,
|
||
without clinging to the past.
|
||
|
||
The era of the original Unix tools has been long and fruitful, but they have
|
||
their flaws. This project originated from frustrations with the way certain
|
||
tools work and how other projects that extend POSIX don’t make anything better.
|
||
|
||
The intent of harakit is not to conform to or extend POSIX, like the GNU or BSD
|
||
utilities, but to invent new utilities to perform the same tasks in more
|
||
intuitive ways. GNU and BSD extensions are convenient but often unhealthy,
|
||
forgetting the purposes of the tools they extend, or building into existing
|
||
utilities features that would be more useful as their own tools to be used
|
||
anywhere. Whereas other utility sets aim to provide a number of fully-featured
|
||
programs to be used individually, harakit tools are meant to be easily
|
||
composable and work together in pipelines.
|
||
|
||
See docs/ for more on the specific utilities currently implemented.
|
||
|
||
|
||
Building
|
||
|
||
Harakit utilities require a POSIX-compliant environment to compile, including a
|
||
C compiler and preprocessor (cc(1) and cpp(1) by default), an edition 2023 Rust
|
||
compiler (rustc(1) by default), bindgen(1), and a POSIX-compliant make(1)
|
||
utility.
|
||
|
||
To build and install:
|
||
|
||
$ make
|
||
$ make PREFIX="/your/preferred/location" install
|
||
|
||
To build with a different compiler than the default:
|
||
|
||
$ make CC=clang
|
||
$ make RUSTC=gccrs
|
||
|
||
To test the utilities:
|
||
|
||
$ make test
|
||
|
||
To remove all build and distributable files:
|
||
|
||
$ make clean
|
||
|
||
|
||
Read More
|
||
|
||
An Introduction to the Unix Shell
|
||
<https://porkmail.org/era/unix/shell>
|
||
|
||
Master Foo and the Ten Thousand Lines
|
||
<http://www.catb.org/~esr/writings/unix-koans/ten-thousand.html>
|
||
|
||
Master Foo Discourses on the Unix-Nature
|
||
<http://www.catb.org/~esr/writings/unix-koans/unix-nature.html>
|
||
|
||
Shell Programming!
|
||
<https://tldp.org/LDP/abs/html/why-shell.html>
|
||
|
||
UNIX Style, or cat -v Considered Harmful
|
||
<http://harmful.cat-v.org/cat-v/>
|
||
|
||
|
||
--
|
||
Copyright © 2023–2024 Emma Tebibyte <emma@tebibyte.media>
|
||
Copyright © 2024 DTB <trinity@trinity.moe>
|
||
|
||
This work is licensed under CC BY-SA 4.0. To view a copy of this license, visit
|
||
<http://creativecommons.org/licenses/by-sa/4.0/>.
|