About me: My name is Solène Rapenne, pronouns she/her. I like learning and sharing knowledge. Hobbies: '(BSD OpenBSD Qubes OS Lisp cmdline gaming security QubesOS internet-stuff). I love percent and lambda characters. Qubes OS core team member, former OpenBSD developer solene@. No AI is involved in this blog.

Contact me: solene at dataswamp dot org or @solene@bsd.network (mastodon).

I'm a freelance OpenBSD, FreeBSD, Linux and Qubes OS consultant, this includes DevOps, DevSecOps, technical writing or documentation work. If you enjoy this blog, you can sponsor my open source work financially so I can write this blog and contribute to Free Software as my daily job.

Installing Alpine as a Desktop

Written by Solène, on 30 April 2023.
Tags: #linux #alpine

Comments on Fediverse/Mastodon

1. Introduction §

While I like Alpine because it's lean and minimal, I have always struggled to install it for a desktop computer because of the lack of "meta" packages that install everything.

However, there now is a nice command that just picks your desktop environment of choice and sets everything up for you.

This article is mostly a cheat sheet to help me remember how to install Alpine using a desktop environment, NetworkManager, man pages etc... Because Alpine is still a minimalist distribution and you need to install everything you think is useful.

Alpine Linux official project page

UPDATE 2023-05-03: I've been told that such a guide already existed in Alpine wiki 😅.

Alpine Wiki about Post installation

2. Setup §

During the installation process started by setup, just type syscrypt for full disk encryption installation.

2.1. Installing a desktop environment §

The most missing part when using Alpine for me was figuring out which packages to install and which services to run to get a working GNOME or Plasma.

But now, just run setup-desktop and enjoy.

2.2. Installing man pages §

A few packages are required to be able to read man pages.

# apk add docs less

If a man page is missing, search for the package name with the -doc suffix, using apk search $package | grep doc.

2.3. Internationalization §

If you want your software in a language other than English, just use apk add lang, this will install the -lang packages for each installed package.

2.4. NetworkManager §

By default, the installer will ask you to set up networking, but if you want NetworkManager, you need to install it, enable it and disable the other services.

As I prefer to avoid duplication of documentation, please refer to the relevant Wiki page.

Alpine Wiki about NetworkManager

You may want to add a few more packages:

apk add networkmanager-tui
apk add networkmanager-openvpn-lang
apk add networkmanager-openvpn
apk add networkmanager-wifi

2.5. Bluetooth §

Nothing special for Bluetooth, except NetworkManager will make it easier to use. The wiki has setup instructions.

Alpine Wiki about Bluetooth

2.6. Use a recent kernel §

By default, Alpine Linux sticks to Long Term Support (LTS) kernels, which is fine, but for newer hardware, you may want to run the latest kernel available.

Fortunately, the Alpine community repository provides the linux-edge package for the latest version.

2.7. Fonts §

You may want to install some extra fonts, because by default there is only the bare minimum, and your programs will look ugly.

Alpine Wiki about Fonts

2.8. Emojis §

Having working emojis is important for me now, and Alpine only provide a default emoji font with black-and-white pictures, without the complete set.

It's a single package to add in order to get your emojis working. The revelant Wiki page is linked below.

Alpine Wiki about Emojis

2.9. Keep binary packages in cache §

If you want to keep all the installed packages in cache (so you could keep them for reinstalling, or share on your network), it's super easy.

Run setup-apkcache and choose a location (or even pass it as a parameter), you're done. It's very handy for me because when I need to use Alpine in a VM, i just hook it to my LAN cache and I don't have to download packages again and again.

3. Conclusion §

Alpine Linux is becoming a serious, viable desktop Linux distribution, not just for containers or servers. It's still very minimalist and doesn't hold your hand, so while it's not for everyone, it's becoming accessible to enthusiasts and not just hardcore users.

I suppose it's a nice choice for people who enjoy minimalism and don't like SystemD.

4. Credits §

Thanks to raspbeguy for the various hints about Alpine, and for making me trying it once again.