Linux Tools is a comprehensive, privacy-conscious list of applications and tools for Linux, as well as distributions.
I created this list to organize what I personally use, find useful or interesting, and to inspire others. The project also includes a Python CLI application for managing and generating the list in multiple formats.
While I originally built the CLI to manage my Linux tools list, the application itself is generic. You're more than welcome to fork the project and use it to build and manage your own list - whether for another platform, topic, or domain.
The list is structured into the following main sections:
- 🖥️ Desktop Tools
- 🛢️ Server Tools
- 🛠️ Bootable Tools
- 💿 Distributions
The list is available in the following formats for easy integration with other applications:
To organize the list I've built a CLI application in Python, which is included in this repository.
- Add sections, categories, and tools.
- Delete sections, categories, and tools.
- By default, sections, categories, tools, and tags are sorted alphabetically in the output.
- Sections and categories can be manually reordered by priority.
- Generate output in Markdown, Text, JSON, and YAML formats.
- MVC-like project structure with helper classes for clean code organization.
- Section names and category names are sanitized to title case, keeping minor words (like "and", "or", "the") in lowercase (unless they are the first word), and preserving acronyms.
- Tool titles are sanitized so that each word starts with an uppercase letter, except for minor words (unless first), and the remaining letters are left as entered.
- Descriptions are sanitized to capitalize the first word.
- URLs are stored in lowercase and automatically prefixed with
https://if missing. - Tags are stored in lowercase.
- data/structure.yaml – Section and category structure.
- data/tools.yaml – List of all tools.
- data/acronyms.txt – Acronyms.
- data/minor_words.txt – List of minor words.
- Python 3.6 or newer
- ruamel.yaml
-
Clone the repository:
git clone https://github.com/paulsorensen/linux-tools.git cd linux-tools -
Install dependencies:
pip install -r requirements.txt
ruamel.yamlis the only required third-party dependency.
-
Run the CLI application:
./run.sh
or
python linux-tools.py
-
See the generated outputs in the project root after using the CLI.
Paul Sørensen
- Website: https://paulsorensen.io
- GitHub: https://github.com/paulsorensen
If you found this project useful, a small tip is appreciated ❤️
https://buymeacoffee.com/paulsorensen
This project is licensed under the MIT License.
See LICENSE for details.
