From 79a2628b28645402b31a55cd784e26592a0a65d9 Mon Sep 17 00:00:00 2001 From: Mike Felida Date: Wed, 20 May 2026 12:32:08 +0200 Subject: [PATCH 1/2] docs: README.md --- README.md | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 110 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4898beb..e36f9dc 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,113 @@ -# Towel - Distrobox setup for codam clusters -A towel is just about the most massively useful thing an interstellar hitchhiker can carry. +# Towel +> A towel is just about the most massively useful thing an interstellar hitchhiker can carry. +A thin wrapper around **Distrobox** to keep your host clean while still running tools and apps as if they were locally installed. +## What this project does + +Towel installs a `towel` command and a predefined Distrobox container (`towel`) based on Fedora toolbox. It adds a simple workflow for: + +- creating/entering the container, +- installing packages with `dnf` inside the container, +- exporting app launchers/binaries back to the host via managed wrappers. + +## Quick start + +### 1) Install towel + +From this repo root: + +```bash +./install +``` + +- Use `./install --yes` in non-interactive scripts. +- The installer will: + - copy towel files to `~/.local/share/towel` + - symlink `~/.local/bin/towel` + - copy distrobox/container config to `~/.config` + - install distrobox automatically if missing + +### 2) Create the container + +```bash +towel create +``` + +### 3) Enter it + +```bash +towel enter +``` + +### 4) Install software + +```bash +towel install +``` + +By default it prompts whether to export installed apps/binaries to the host. +Use `towel install --yes ` to auto-export. + +--- + +## Common commands + +```bash +towel # same as towel enter +towel create # create container from ~/.config/distrobox/towel.ini +towel enter # enter container shell +towel exec # run command inside container +towel install # dnf install inside container (+ optional export) +towel export # export already-installed package commands/apps +towel remove # remove container and exported wrappers +towel update --check # check for updates +towel update --apply # install latest release +``` + +## How export works + +Exported integrations are managed by towel and placed under: + +- internal wrappers: `~/.local/share/towel/exports/` +- host-facing symlinks/apps: + - `~/.local/bin/` + - `~/.local/share/applications/towel-*.desktop` + +Discovery is package-file based (`dnf repoquery`) and currently only exports: + +- binaries in `/usr/bin/*` +- desktop entries in `/usr/share/applications/*.desktop` + +--- + +## What applications work well in towel? + +### ✅ Good fit + +Apps/tools that are: + +- regular RPM packages installed via `dnf` +- command-line tools with executables in `/usr/bin` +- desktop apps that ship standard `.desktop` launchers in `/usr/share/applications` +- user-space developer tooling (compilers, linters, formatters, language runtimes, editors) + +These are the exact paths towel knows how to export cleanly. + +### ⚠️ Usually awkward or unsupported + +Apps that require behavior outside towel’s export/runtime model, for example: + +- software that needs host-level system services (`systemd` units, daemons, kernel modules) +- packages whose main binaries are not in `/usr/bin` (for example only in `/opt`, custom paths, or generated at runtime) +- GUI apps without a standard `.desktop` launcher under `/usr/share/applications` +- apps needing privileged/root-style host integration beyond normal user-space container access + +These can still run manually in some cases, but won’t be reliably auto-exported by `towel export`. + +## Notes + +- `towel remove` is destructive and unexports managed wrappers first. +- The default container config lives at `~/.config/distrobox/towel.ini` (copied from this repo during install). +- If `towel` isn’t found after install, restart your shell so `~/.local/bin` is on `PATH`. From 16587c09c52374842a0be540a066f0af7b279908 Mon Sep 17 00:00:00 2001 From: MFelida Date: Wed, 20 May 2026 14:41:28 +0200 Subject: [PATCH 2/2] docs: Reword README.md Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e36f9dc..9641f69 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ A thin wrapper around **Distrobox** to keep your host clean while still running ## What this project does -Towel installs a `towel` command and a predefined Distrobox container (`towel`) based on Fedora toolbox. It adds a simple workflow for: +Towel installs a `towel` command and a predefined Distrobox container config for `towel`, based on Fedora toolbox. It adds a simple workflow for: - creating/entering the container, - installing packages with `dnf` inside the container,