Skip to content

pi-apps-go/pi-apps

Pi-Apps logo

The most popular app store for Raspberry Pi computers. 100% free, open-source but rewritten in Go for faster performance and with in mind cross distro support.

View changelog | Apps List | Report an error | Make a general suggestion | Suggest new app | Submit a new app

stars forks contributors prs license Join the Discord server go.mod Go version Language count

Original made with ❤ by Botspot, theofficialgman, and contributors, while rewrite with matu6968

Check out our website: (unavailable for the time being) pi-apps-go.io

Introduction

Let's be honest: Linux is harder to main than Windows. Sometimes it's not user-friendly, and following an outdated tutorial may break your Raspberry Pi's operating system.
There is no centralized software repository, except for the apt repositories which lack many desktop applications.
Surely there is a better way! There is.
Introducing Pi-Apps Go, a Go based app store with a well-maintained collection of app installation-scripts that you can run with one click and portable across supported distributions.

Original Pi-Apps serves over 1,000,000 people and hosts over 200 apps.

Pi-Apps Go is very new and is a work in progress. Please expect some features to be missing/broken and report any issues you encounter. Also as it does not contain any apps yet, it is not recommended to use it as an Pi-Apps replacement until it is throughly tested and the apps are added.

Install Pi-Apps Go

Open a terminal and run this command:

wget -qO- https://raw.githubusercontent.com/pi-apps-go/pi-apps/main/install | bash

Supported systems:

Raspberry Pi (2/3/Zero 2 W/4/5)

  • Raspberry Pi OS (32-bit/64-bit) (Bookworm/Trixie): fully supported
  • Ubuntu (Jammy/Noble): fully supported
  • Arch Linux (requires Arch Linux support plugin during installation): Support is in progress

Nintendo Switch

Nvidia Jetson

Apple Silicon Macs

  • Ubuntu Asahi (Ubuntu Noble): Not actively tested but all available apps should work
  • Arch Linux (requires Arch Linux support plugin during installation): Support is in progress

Pine64, Orange Pi, Radxa, Banana Pi, Khadas, Inovato, Libre Computer, and other ARMv7/ARMv8/ARMv9 Devices

  • Debian Bookworm/Trixie (Official Releases from Debian ONLY): Not actively tested but all available apps should work
  • Ubuntu Jammy/Noble (Official Releases from Canonical ONLY): Not actively tested but all available apps should work
  • Arch Linux (Official Releases ONLY, requires Arch Linux support plugin during installation): Support is in progress

Supported devices for the future:

Pine64, Orange Pi, Radxa, Banana Pi, Milk-V, SiFive, StarFive and other RISC-V Devices

  • Debian Trixie (Official Releases from Debian ONLY): Support is planned for the future, currently unsupported
  • Ubuntu Noble (Official Releases from Canonical ONLY): Support is planned for the future, currently unsupported
  • Arch Linux (requires Arch Linux support plugin during installation): Support is planned for the future, currently unsupported

Generic x86_64 devices

Supported operating systems for the future:

Nintendo Switch

  • Switchroot L4T Fedora 41 (will require RHEL-like support plugin during installation): Support is planned for the future, currently unsupported

Everything else:

dnf based:

  • Fedora (will require RHEL-like support plugin during installation): Support is planned for the future, currently unsupported
  • RHEL (will require RHEL-like support plugin during installation): Support is planned for the future, currently unsupported
  • Rocky Linux (will require RHEL-like support plugin during installation): Support is planned for the future, currently unsupported
  • AlmaLinux (will require RHEL-like support plugin during installation): Support is planned for the future, currently unsupported
  • CentOS Stream (will require RHEL-like support plugin during installation): Support is planned for the future, currently unsupported

apk based (not to be confused with the .apk format for applications on Android)

  • Alpine Linux (will require Alpine Linux support plugin during installation): Support is planned for the future, currently unsupported

Unsupported systems:

  • Raspberry Pi Pico (2): These devices are microcontrollers and cannot run linux.
  • All UNOFFICIAL Debian, Ubuntu and Arch based releases (unless mentioned above): Expect many apps to have issues.
    • Examples: Orange Pi OS, Pop_OS!, Kali Linux, and ChromeOS Crostini Debian Container
  • Anything Non-Debian, Non-Ubuntu, Non-Arch and Non-RHEL compatible: Expect the majority of apps and the appstore to be broken.
    • Examples: Slackware, SUSE, Gentoo, Void Linux, NixOS
  • Anything not already mentioned: Expect nothing to work.
    • Examples: Microsoft Windows, MacOS, Android, and ChromeOS
To install Pi-Apps manually if you prefer to see what happens under the hood
git clone https://github.com/pi-apps-go/pi-apps
~/pi-apps/install
To uninstall Pi-Apps This will not uninstall any apps that you installed through Pi-Apps.
~/pi-apps/uninstall

To run Pi-Apps Go

  • From the start menu: Accessories -> Pi-Apps
  • Use the terminal command: pi-apps-go
  • Run Pi-Apps from its directory: ~/pi-apps/gui

To update Pi-Apps Go

  • Pi-apps will automatically check for updates on boot and display a notification to update.
  • To manually run the updater, use this command: ~/pi-apps/updater gui
  • It also supports a CLI interface: ~/pi-apps/updater cli

What do others say about Pi-Apps?

Message from a pi-top employee: "Happy to say that I recommend pi-apps to almost every school I work with when they start using Raspberry Pi"

Video by ETA Prime: "It's an awesome Raspberry Pi app store and it works really well and there's lots of great stuff in here and it's super easy to install. I want to give the devs of Pi-Apps a big shout-out."

Video by leepspvideo: "Thanks so much to Botspot for creating this; it's a great program."

Video by Novaspirit Tech: "This is an awesome application for your Pi to install applications like WoR-flasher."

Email from a Raspberry Pi employee: "I gave Pi-Apps a go a while back and have suggested it to others quite a few times. We can't provide all the options people may want, so it helps a lot that there are people like you who can help bridge the gap. Thank you Botspot!"

ShiftPlusOne (Raspberry Pi forum moderator): "Thanks for the great work making it all simple for everybody."

Email from Sakaki (legendary RPi developer): "Good luck with your projects, Botspot, you're really making waves!"

Message from one of our many satisfied users: "Thank you for making pi-apps, it has helped me a ton (no more searching hours to find how to install etcher) and I cannot thank you enough."

Basic usage

Pi-Apps Go is very easy to use.

  • This is the main window.
    main window

    • icon Search for apps.
    • icon Open pi-apps settings.
    • Click on a category to open it.
  • Opening a category will reveal a list of apps:
    app list

    • icon Go back to the main list of categories.
    • Click on an App name to see its details (see details window below)
  • On the right is the app details window:
    details

    • icon View the shell-scripts responsible for installing or uninstalling the selected app.
    • icon Modify the app's description, icons, or scripts. (This button is hidden unless you enable it in Settings)
    • icon Install the selected app.
    • icon Uninstall the selected app.
  • If you install/uninstall an app, you will see the progress window, keep installing/uninstalling apps to add them to the queue:
    details

  • Pi-Apps Settings can be configured by launching Menu -> Preferences -> Pi-Apps Settings.
    settings
    In addition to changeable settings, this window also gives access to these tools:

    • icon Does that one app seem to be in the wrong category? With this button, you can change it.
    • icon Create a new app with a wizard-style set of dialogs. We recommend reading the tutorial.
    • icon View the past weeks-worth of installation logs. This is useful if you ever encounter an app that won't install and want to see the terminal output after you closed the terminal.
    • icon This allows you to easily import a 3rd-party app from elsewhere. It helps Pi-Apps developers test upcoming apps for reliability on a variety of systems.

To learn more about Pi-Apps Go, read the documentation and the wiki.

🙌 Contributing

You don't need to be a programmer to help!

  • The easiest way to help is by "Starring" our repository - it helps more people find Pi-Apps. (Scroll to the top of this page and on the right there is a "Star" button)
  • If you know somebody else who has a Raspberry Pi, feel free to tell them about Pi-Apps. We would offer you a referral discount, but Pi-Apps is free, so... ¯\_(ツ)_/¯
  • You can make suggestions, report bugs, or suggest apps.
  • You can create and submit an app. Don't worry, it's about as easy as using the terminal (and it's even easier if you're submitting a simple apt-package)!
  • You can also join our cheerful community: Join the Discord server

Badge

If your application is on Pi-Apps Go, please consider adding this pretty badge/hyperlink to your README (dark and light modes available):

badge badge

Embed code (Dark):

[![badge](https://github.com/pi-apps-go/pi-apps/blob/main/icons/badge.png?raw=true)](https://github.com/pi-apps-go/pi-apps)

Embed code (Light):

[![badge](https://github.com/pi-apps-go/pi-apps/blob/main/icons/badge-light.png?raw=true)](https://github.com/pi-apps-go/pi-apps)

Q&A with matu6968

  • Why did you make Pi-Apps Go?

I have been wanting to improve the speed of Pi-Apps considering I have been seeing slow downs on my Pi Zero 2W because it was written in Bash.

There have been also projects such as Pi-Apps Recreates which brang x86 support to Pi-Apps, but it stopped being updated in ~2023, so it's the time for a modern replacement.

So one day I realized: Why not make a modern rewrite of Pi-Apps in Go because the language started getting traction in being used in backend development? This would speed up significantly since Go can compile to a native binary which can speed the thing up.

  • How long did it take to program this?

For now you would think it's still under development. 🤪

It still is, Pi-Apps Go took around 3 days to re-implement the entire API script from bash to Go (with some features still being missing), and ever since then it has been continually, and exponentially, improving. I started to re-implement the GUI portions of Pi-Apps (such as the manage script) and for now it's still under development.

  • Is Pi-Apps Go free?

Absolutely! Donations are welcome, but Pi-Apps Go itself will always be free and open-source.

API usage

Pi-Apps Go offers a Go module for other Go programs to use if Pi-Apps Go is installed.

Example usage

To install it:

go get github.com/pi-apps-go/pi-apps/pkg/api

And then you can import the module with:

import "github.com/pi-apps-go/pi-apps/pkg/api"

api.Init()
api.Status("Hello, world!")

Another example (installing a package):

api.InstallApp("Ruffle")

Another example (uninstalling a package):

api.UninstallApp("Ruffle")

For the full API, see the API documentation.

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Contributors 3

  •  
  •  
  •