LinuxToys is a software distribution platform for Linux systems. It aims to make powerful Linux functionality simple and accessible to all users through an intuitive interface, and enable developers to ship their apps consistently and reliably by giving them control over the installation process of their apps, all in one solution for dozens of Linux distributions.
LinuxToys is compatible with the following Linux distributions, provided they are running their latest stable versions:
- Debian and derivatives (PikaOS, LMDE, Tuxedo, etc.)
- Ubuntu and derivatives (Ubuntu flavours, Mint, Zorin, etc.)
- Fedora and derivatives (Nobara, Ultramarine and spins)
- Red Hat Enterprise Linux and similars (CentOS Stream, AlmaLinux, etc.)
- Arch Linux and derivatives (EndeavourOS, CachyOS, etc.)
- Manjaro and Big Linux
- OpenSUSE (Leap, Slowroll and Tumbleweed)
- Fedora-based Atomic Distributions (Atomic Fedora,
rpm-ostreeUniversal Blue images like Bazzite and Aurora) - Solus
- Deepin
- SteamOS, Bluefin Dakota, Gnome OS and KDE Linux
Only x86 computers are supported, as other architectures lack support from most packages that are components of LinuxToys, even though the app itself may run on ARM devices. Support for non-systemd init systems is limited, and some features of the app cannot be offered for them.
The simplest way to install LinuxToys is by using the automated installation script. Open your terminal and run:
curl -fsSL https://linux.toys/install.sh | bashThis will automatically pick the correct package option for your distribution and install it.
If you prefer to review the script before running it, you can download and execute it manually:
curl -fsSLJO https://linux.toys/install.sh
chmod +x install.sh
./install.shYou may also pick the package that suits your system best yourself.
LinuxToys is available in several official and community repositories for easier package management.
You can install LinuxToys from our official PPA on Launchpad:
sudo add-apt-repository ppa:psygreg/linuxtoys
sudo apt update
sudo apt install linuxtoysPackages are available via Fedora COPR for the latest releases of AlmaLinux, Fedora and RHEL.
For Standard Systems:
sudo dnf copr enable psygreg/linuxtoys
sudo dnf install linuxtoysFor Atomic Systems (Fedora Atomic, Universal Blue):
curl -fsSL https://copr.fedorainfracloud.org/coprs/psygreg/linuxtoys/repo/fedora-$(rpm -E %fedora)/psygreg-linuxtoys-fedora-$(rpm -E %fedora).repo | sudo tee /etc/yum.repos.d/psygreg-linuxtoys-fedora-$(rpm -E %fedora).repo
sudo rpm-ostree install linuxtoysArch Linux users can install the linuxtoys-bin package from the AUR:
git clone https://aur.archlinux.org/linuxtoys-bin.git
cd linuxtoys-bin
makepkg -siYou may use the AppImage available at the latest release to use LinuxToys without requiring installation. For SteamOS, the automatic installer will integrate this AppImage using Gear Lever.
For suggestions, feature requests and issue reports that for any reason are not possible to send through the LinuxToys bug reporting system, please refer to the Discussions.
Development GIT
For running the application from source, please follow these steps.
Ensure your system has the necessary dependencies installed. Those will include build dependencies and python virtual environment setup.
Debian/Ubuntu:
sudo apt install -y bash git curl wget zenity appstream libappstream5 python3 python3-gi python3-requests libgtk-3-0 gir1.2-gtk-3.0 gir1.2-vte-2.91 gir1.2-appstream-1.0 cargo python3-dev python3-maturin python3-venv pkgconf libgtk-3-dev patchelfFedora/RHEL:
sudo dnf install -y bash git curl wget zenity appstream appstream-data python3 python3-gobject python3-requests gtk3 vte291 cargo python3-devel maturin gtk3-devel pkgconf-pkg-config patchelfArch Linux:
sudo pacman -S --noconfirm bash git curl wget zenity appstream archlinux-appstream-data python python-gobject python-requests gtk3 vte3 cargo maturin pkgconf patchelfOpenSUSE:
sudo zypper in -y bash git curl wget zenity libappstream5 python3 python3-gobject python3-requests gtk3 libvte-2_91-0 typelib-1_0-Vte-2.91 typelib-1_0-AppStream-1_0 cargo python3-devel python3-maturin gtk3-devel pkgconf-pkg-config patchelfSolus:
sudo eopkg it -y git curl wget zenity appstream python3 python-gobject python-requests libvte rust python-devel pkg-config gtk3-devel patchelfFor Solus, you will have to install
maturinusingpipon the virtual environment you will set up in the next steps.
Clone the repository:
git clone --depth=1 https://github.com/psygreg/linuxtoys.git
cd linuxtoysStart by setting up a python virtual environment for maturin, from the repository root:
python3 -m venv --system-site-packages .venv
source .venv/bin/activateThen compile the libraries with the script:
./build-rust.sh developThe compiled rust library for development and testing, virtual environment files and building artifacts are automatically ignored by the repository if you follow this procedure correctly.
Run the application:
p3/linuxtoys.pyFor developers who wish to contribute, check our documentation, please refer to the Contribution Guidelines.
To distribute your app through LinuxToys, check out the Developer Portal.