Skip to content

Commit

Permalink
Put the rest of the earlier introductory text in manual.md
Browse files Browse the repository at this point in the history
... and slightly shorten the existing text to accommodate it.

The second-level manual.md isn't as prime a real estate as the top-level
index.md, and Toolbx is too closely associated with Fedora to not
highlight how it fits with Fedora Silverblue and Workstation.

Secondly, the earlier introductory text was carefully massaged in
consultation with various stakeholders over the years to strike the
right balance between making it appealing and understable to the casual
reader, and technical accuracy and details for those who are intimately
familiar with Toolbx.  Removing it without careful thought can re-ignite
needless debates about topics like security that are best avoided right
now [1].

[1] containers/toolbox#183
    containers/toolbox#1020
  • Loading branch information
debarshiray committed Mar 2, 2024
1 parent 95f93f3 commit 795ca80
Showing 1 changed file with 18 additions and 3 deletions.
21 changes: 18 additions & 3 deletions manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,26 @@ layout: default
<img src="../assets/man.gif">
</picture>

## Toolbx Manual
## About

Welcome to the world of **toolbx**, a powerful commandline utility designed to streamline your development and testing experience. This manual will guide you through the details of creating and managing isolated containerized environments tailored to your specific needs.
**Toolbx** is a tool for Linux, which allows the use of interactive command line environments for development and troubleshooting the host operating system, without having to install software on the host. It is built on top of [Podman](https://podman.io/) and other standard container technologies from [OCI](https://opencontainers.org/).

No longer will project environments clash with your host machine, nor will you be limited to a single RHEL or Fedora version. Dive into this manual and unlock the potential to seamlessly switch between versions, isolate projects, and avoid software conflicts on your host system. Prepare to embark on a journey of efficient development and testing with **toolbx** as your trusty companion.
Toolbx environments have seamless access to the user's home directory, the Wayland and X11 sockets, networking (including Avahi), removable devices (like USB sticks), systemd journal, SSH agent, D-Bus, ulimits, /dev and the udev database, etc..

This is particularly useful on [OSTree](https://ostreedev.github.io/ostree/) based operating systems like
[Fedora CoreOS](https://fedoraproject.org/coreos/) and [Silverblue](https://fedoraproject.org/silverblue/). The intention of these systems is to discourage installation of software on the host, and instead install software as (or in) containers — they mostly don't even have package managers like DNF or YUM. This makes it difficult to set up a development environment or troubleshoot the operating system in the usual way.

Toolbx solves this problem by providing a fully mutable container within which one can install their favourite development and troubleshooting tools, editors and SDKs. For example, it's possible to do `yum install ansible` without affecting the base operating system.

However, this tool doesn't *require* using an OSTree based system. It works equally well on Fedora Workstation and Server, and that's a useful way to incrementally adopt containerization.

The Toolbx environment is based on an [OCI](https://www.opencontainers.org/) image. On Fedora this is the `fedora-toolbox` image. This image is used to create a Toolbx container that offers the interactive command line environment.

Note that Toolbx makes no promise about security beyond what's already available in the usual command line environment on the host that everybody is familiar with.

## Manual

Welcome to the world of this powerful command line utility. No longer will project environments clash with your host operating system, nor will you be limited to a single Arch Linux or Fedora or Ubuntu version. Dive into this manual and unlock the potential to seamlessly switch between versions, isolate projects, and avoid software conflicts on your host system. Prepare to embark on a journey of efficient development and testing with **Toolbx** as your trusty companion.

* [Basics](https://github.com/containers/toolbox/blob/main/doc/toolbox.1.md) ­— Overview of the `toolbox` command.
* [Creating a Toolbx](https://github.com/containers/toolbox/blob/main/doc/toolbox-create.1.md)
Expand Down

0 comments on commit 795ca80

Please sign in to comment.