Daily driver guide

From Alpine Linux
Revision as of 04:43, 1 April 2024 by Zcrayfish (talk | contribs) (→‎Sandboxing: Fix red link.)

Many people think that Alpine is only made for containers and servers, but it is actually a general purpose distro which can definitely be used as a daily driver. Alpine is extremely small, simple and resource-efficient, making it easy to customize.

Note: This guide assumes you have already installed a minimal Alpine system by following the Installation guide

General system changes

Set up your own user

When running setup-alpine there was an option to create a user. If you didn't make one, you can do it now:

# adduser <username>

Then, you need to give your user access to temporary root privileges:

# adduser <username> wheel

If you are using doas then it will most likely work instantly, if using sudo then you will need to follow the install instructions

Locking the root account

To lock the root account you need to log into your account and then lock it using the passwd command:

# passwd -l root

Glibc compatability

Installing the gcompat package adds a compatability layer which (sometimes) lets you run binaries as normal:

# apk add gcompat

Another way is to use Flatpak. It is a program distribution technology which uses a universal package format that is compatible with any Linux system.

Install a Desktop Environment/Window Manager

The preferred way to install a Desktop Environment is by using the setup-desktop script:

# setup-desktop

If it does not have the Desktop Environment (or Window Manager) you want, follow the specific installation instructions for it.

After installation you should probably install some fonts (because some fonts may not be installed). This is a good set of fonts for most setups:

# apk add font-terminus font-inconsolata font-dejavu font-noto font-noto-cjk font-awesome font-noto-extra

Securing your system

Firewall

There are two main options: awall or UFW. Please follow their wiki guide for installation and usage.

Sandboxing

The two choices are either AppArmor or Bubblewrap.

AppArmor is more convenient but has less control than Bubblewrap. Bubblewrap is harder to work with but has more control than AppArmor.

Bubblewrap has a simpler GUI frontend called bubblejail. It is easier to use than Bubblewrap, but may sometimes be a little unstable. When installing Bubblejail, you first need to install the dependencies listed here.