bottom/docs/content/contribution/packaging-and-distribution.md
Clement Tsang 06071d5abf
docs: migrate documentation over to mkdocs (#506)
A large migration of documentation over to mkdocs, and some rewrites. Some stuff (install information, basic supported systems, contributors, thanks) are still staying in README.md, and CONTRIBUTING.md is essentially duplicated right now. However, stuff like configuration and key/mouse bindings are now moved to mkdocs.

Some parts are still a bit WIP - it is definitely not done (documentation never seems to be...). However, it should be "good enough" for now, and I'm much happier working with the documentation in this form than trying to scroll through a giant endless README.md file. It also works much better for adding new documentation.
2021-06-21 01:40:58 -04:00

2.1 KiB

Packaging and Distribution

Package maintainers are always welcome and appreciated! Here's some info on how one can help with package distribution and bottom.

Pre-built binaries

The latest stable release can be found here, where you can find pre-built binaries in either a tar.gz or zip format. Binaries here also include automatically generated shell completion files for zsh, bash, fish, and Powershell, which you may want to also install during the packaging process.

You can also find a nightly build in the releases page, built every day at 00:00 UTC off of the master branch.

Building manually

If you want to manually build bottom rather than distributing a pre-built binary, you'll need the most recent version of stable Rust, which you can get with:

rustup update stable

You'll then want to build with:

cargo build --release --locked

Completion files are automatically generated during this process, and are located in the directory target/release/build/bottom-<gibberish>/out. Note there may be multiple folders that look like target/release/build/bottom-<gibberish>. To programmatically determine which is the right folder, you might want to use something like:

$(ls target/release/build/bottom-*/out/btm.bash | head -n1 | xargs dirname)

You may find the Arch package install script template useful as a reference.

Adding an installation source

Once you've finished your installation source, if you want to mention it in the main bottom repo, fork the repo and add the installation method and any details to the README.md file under the Installation section. Once that's done, open a pull request - these will usually be approved of very quickly.

You can find more info on the contribution process here.