Daily driver guide: Difference between revisions

From Alpine Linux
m (added docs)
m (replaced awall by nftables)
 
(57 intermediate revisions by 2 users not shown)
Line 1: Line 1:
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 or as a Desktop.
<!-- COMMENT FOR EDITORS


Alpine is extremely small, simple and resource-efficient, making it easy to customize.  
This page is linked to Post-Install section of [[Installation|Installation guide]]. So, check before making changes.
  * Do not create content on this page as this page is meant as link aggregation page like [[Tutorials_and_Howtos]]
  * Consider that there are already [[Tutorials_and_Howtos#Post-Install]], [[Developer_Documentation#Package_management]] and the Handbook, please work towards reducing duplication
  * Focus on linking to desktop related topics only.
  * Here, only the most relevant jumping off points are listed, not exact list duplicates!!!
  * Keep short-list of links here, as overview to more detailed topic specific pages
  * Don't aggregate topics related to Desktop at yet another place.
 
-->
Alpine Linux is a general purpose Linux distribution designed for power users. It is built to be small and resource efficient. If you feel the defaults are too lightweight for desktop use, it is easy to get most of the [[How to get regular stuff working|regular stuff working]] and use Alpine Linux as a daily driver by following this guide.  


{{Note|This guide assumes you have already installed a minimal Alpine system by following the [[Installation|Installation guide]]}}
{{Box|Help us improve this wiki page|
== Basics ==
If you find the instructions correct, please add/update the [[Template:Verified|Verified]] template. If something isn't correct, or is incomplete, add the [[Template:Accuracy|Accuracy]] template to the relevant section. You will have to figure out the correct solution, or ask for it in the [https://alpinelinux.org/community/ community].  
* Create a non-privileged [[Setting_up_a_new_user#Creating_a_new_user|user account]] for security reasons.
* Ensure that <code>community</code> repository is [[Repositories#Managing_repositories|enabled]]
* [[Setup-desktop|Install]] a [[Desktop environments and Window managers|Desktop Environment]] of your choice.
* [[fonts#Installation|Install]] some [[fonts]].
* Enable [[Alpine_Linux:FAQ#Why don't I have man pages or where is the 'man' command?|docs]], so man pages are available.


== Advanced ==
And then carefully [[Help:Editing|edit]] the wiki page.  
* If you find busybox lacking in features or options, it is easy to [[How to get regular stuff working|get regular stuff working]]
* Use [[Flatpak]] to add packages that are not in the [[Repositories#repositories|repositories]].
* Install {{pkg|gcompat|arch=}} package to add a glibc compatability layer which (sometimes) lets you run binaries as normal.
* Secure your system by installing firewall software like [[How-To_Alpine_Wall|awall]] or [[Uncomplicated Firewall|UFW]].
* Install a sandboxing application like [[AppArmor]] or [[Bubblewrap]].


== Experimental ==
Just as those before who did it for you.|#FFC699|#FFF5E6}}


{{Warning|'''Only do below steps, if you're 100% sure what you're doing!''' Possible bugs in ''edge'' and ''testing'' could cause data loss or could break your system.}}
==== Prerequisites ====
* Alpine Linux installed in [[Installation#System_Disk_Mode|system disk]] mode.  
{{:Include:Desktop prerequisites}}


* If You may want the rolling release version of Alpine Linux, [[Repositories#Managing_repositories|enable]] the [[Repositories#Edge|Edge]] repository.  
Once the above prerequisites are met, install any desktop of choice from the [[Desktop environments and Window managers|list of supported Desktop environments and Window managers]] either manually or using [[Setup-desktop|setup-desktop]] script. {{Tip|Except for the first three [[#Prerequisites|Prerequisites]], all the others are automatically handled, if [[Setup-desktop|setup-desktop]] script is used.}}
* You may want to [[Repositories#Managing_repositories|enable]] [[Repositories#Testing|testing]] repository, as it provides a lot more applications.  


Read the above warning once again and understand the full implications.
==== Basics ====
 
* Learn the [https://docs.alpinelinux.org/user-handbook/0.1a/Working/apk.html alpine package keeper basics] or refer [[Alpine Package Keeper|wiki page]].
* [[fonts#Installation|Install]] some [[fonts]] to make your desktop look better.
* Install the necessary [[File management]] packages for automounting of removable storage and browsing of network shares that works seamlessly with file associations.
* Setup a [[Sound Setup|sound server]] to manage your audio and configure your [[Bluetooth]], if you have one.
* Configure [[Power management]] so that your computer switches to a low-power state when inactive or when laptop lid is closed.
* Configure your [[Printer_Setup|printer]].
* Enable [[Alpine_Linux:FAQ#Why don't I have man pages or where is the 'man' command?|documentation]], so man pages are available.
* Graphical tools to manage official packages, Flatpaks and ways to run glibc binaries can be found in [[Software management]] page.
 
==== Desktop security ====
 
* Install [[CPU Microcode]] updates to mitigate processor design bugs.
* Regularly [[Alpine_Linux_package_management#Upgrade_a_Running_System|check and apply updates]] to keep your system secure.
* [[Upgrading Alpine|Upgrade your OS]] whenever a new stable version of Alpine Linux is [https://www.alpinelinux.org/releases/ released]
* Secure your system by installing a [[Tutorials_and_Howtos#Firewall|firewall]] software like [[Uncomplicated Firewall|Uncomplicated Firewall]] or [[nftables]].
* Install a sandboxing application like [[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.
* Enable [[UEFI Secure Boot]], if [[UEFI]] is available.
* Refer to [[Tutorials and Howtos#Security|security]] section for additional security options.
 
==== Advanced ====
 
* Learn [https://docs.alpinelinux.org/user-handbook/0.1a/Working/openrc.html basics of openrc], the alpine Linux init system or refer [[OpenRC|Open rc wiki]].
* If you want the rolling release version of Alpine Linux, [[Repositories#Managing_repositories|enable]] the [[Repositories#Edge|Edge]] repository.
* Explore the [[Repositories#Testing|testing ]] repository, as it provides a lot more applications.  
<noinclude>
== See also ==
 
* [[Tutorials_and_Howtos#Desktop|Desktop section]] of Tutorials page
* [[:Category:Desktop|List of all Desktop]] category pages
</noinclude>
 
[[Category:Desktop]]

Latest revision as of 17:17, 21 August 2025

Alpine Linux is a general purpose Linux distribution designed for power users. It is built to be small and resource efficient. If you feel the defaults are too lightweight for desktop use, it is easy to get most of the regular stuff working and use Alpine Linux as a daily driver by following this guide.

Help us improve this wiki page

If you find the instructions correct, please add/update the Verified template. If something isn't correct, or is incomplete, add the Accuracy template to the relevant section. You will have to figure out the correct solution, or ask for it in the community.

And then carefully edit the wiki page.

Just as those before who did it for you.

Prerequisites

Once the above prerequisites are met, install any desktop of choice from the list of supported Desktop environments and Window managers either manually or using setup-desktop script.

Tip: Except for the first three Prerequisites, all the others are automatically handled, if setup-desktop script is used.

Basics

Desktop security

Advanced

  • Learn basics of openrc, the alpine Linux init system or refer Open rc wiki.
  • If you want the rolling release version of Alpine Linux, enable the Edge repository.
  • Explore the testing repository, as it provides a lot more applications.

See also