Skip to content

Comprehensive privacy-conscious list of Linux applications, tools, and distributions - powered by a generic Python CLI that lets you manage and export your own custom lists in multiple formats.

License

Notifications You must be signed in to change notification settings

PaulSorensen/linux-tools

Repository files navigation

🐧 LINUX TOOLS

Badge Badge Badge Badge Badge Badge Badge

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.

Sections

The list is structured into the following main sections:

  • 🖥️ Desktop Tools
  • 🛢️ Server Tools
  • 🛠️ Bootable Tools
  • 💿 Distributions

Available Formats

The list is available in the following formats for easy integration with other applications:

CLI Application

To organize the list I've built a CLI application in Python, which is included in this repository.

CLI Preview

Features

  • 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.

Data Handling

  • 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.

Key Data Files


Requirements

  • Python 3.6 or newer
  • ruamel.yaml

Installation

  1. Clone the repository:

    git clone https://github.com/paulsorensen/linux-tools.git
    cd linux-tools
  2. Install dependencies:

    pip install -r requirements.txt

    ruamel.yaml is the only required third-party dependency.


Usage

  • Run the CLI application:

    ./run.sh

    or

    python linux-tools.py
  • See the generated outputs in the project root after using the CLI.

Author

Paul Sørensen

Support

If you found this project useful, a small tip is appreciated ❤️
https://buymeacoffee.com/paulsorensen

License

This project is licensed under the MIT License.
See LICENSE for details.

About

Comprehensive privacy-conscious list of Linux applications, tools, and distributions - powered by a generic Python CLI that lets you manage and export your own custom lists in multiple formats.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published