--- title: "Alpine set up for daily driver" date: 2022-12-10 tags: ['alpine', 'linux'] --- ## Disable secure boot First, always check for secure book. If it is enabled you won't be able to boot your thumbdrive. ## setup-alpine On the official wiki[^1] there a more complete guide on how to setup, and will probably be more accurate than this one, so always refer to that wiki first. This is more a log of how I setup. Once you boot your live installation run `setup-alpine` and follow the steps: * _Select keyboard layout_: **us** * _Select keyboard variant_: **us** * _Enter system hostname_: **gridx.local** [This is my choice, if you don't know what exactly is this go for the default **localhost**] * _Which one do you want to initialize?_: **wlan0** [I chose wlan0, since it is a laptop I don't have it connected to cable] * _Type the wireless network name to connect to_: **\** * _Type network key_: ****** * _Ip address for wlan0_? **dhcp** [and for the following device I have chose none since I won't use them anyways] * _Do you want to do any manual network configuration_? **n** * _Changing password for root_: ****** * _Which timezone are you in?_ **Europe/Berlin** * _HTTP/FTP proxy URL?_ **none** * _Which NTP client to run?_ chrony * _Enter mirro number?_ **f** [I pick this one to speed up things a bit, default one is fine as well] * _Set an user?_ **\** [Since we aiming to be a desktop create your user here] * _Full name for user \:_ **\** * _Type password_: ****** * _Enter ssh key or URL for \?_ **none** [this is a public key so you can ssh into this machine] * _Which ssh server?_ **openssh** * _Which disks would like to use?_ **\** [now you are going to set up the disk for installation] * _How would you like to use it?_ **crypt** [I like to use encrypted disks, I strongly advice for it, but in case you don't want, go for sys directly] * _How would you like to use it?_ **lvm** * _How would you like to use it?_ **sys** [more info[^2]] * _WARNING: Erase the above disks and continue?_ **y** * Enter passphrase for \: ****** Once you have finish the step run `reboot`. ## Desktop environment Now comes the "hard" part, where we need to configure the desktop. For me, I'm going for i3wm with lightdm. To be able to install all the necessary packages we will need to enable the community repository[^3]. To edit it I use vim ```bash apk add vim # then vim /etc/apk/repositories ``` and uncomment the `.../community` ```bash #/media/cdrom/apks http://dl-cdn.alpinelinux.org/alpine/v3.16/main http://dl-cdn.alpinelinux.org/alpine/v3.16/community #http://dl-cdn.alpinelinux.org/alpine/edge/main #http://dl-cdn.alpinelinux.org/alpine/edge/community #http://dl-cdn.alpinelinux.org/alpine/edge/testing ``` Then run `apk update` and you will see the both repositories printed out. Now we will install the necessary drivers for `xorg` to run properly. Firs search for all video drivers `apk search xf86-video*` and install whatever you have for you computer (in my case `apk add apk add xf86-video-amdgpu`) Add required mesa drivers: ```bash apk add mesa-dri-gallium mesa-va-gallium mesa-egl ``` Alpine provides a command to install required packages for xorg ```bash setup-xorg-base ``` Now to set the `lightdm` and its required dbus setup: ```bash apk add lightdm-gtk-greeter setup-devd udev rc-update add dbus boot rc-update add lightdm boot apk add terminus-font dbus-uuidgen > /var/lib/dbus/machine-id rc-update add dbus ``` Now for the i3wm: ```bash apk add i3wm i3status xterm i3lock add user input` add user video` ``` ## Extras There is a list go command that I use that may be helpful: ``` bash apk add perl bash fzf # required for things to work apk add fish # shell apk add zathura-pdf-poppler # pdf viewer apk add ranger # file explorer apk add alpine-sdk make git go # some dev tooling apk add qutebrowser # browser apk add keepassxc # password manager apk add aerc # mail ``` ## Wiki There is a more complete from the alpine wiki[^4], which will give more context to the commands. [^1]: https://wiki.alpinelinux.org/wiki/Installation#Questions_asked_by_setup-alpine [^2]: https://wiki.alpinelinux.org/wiki/Installation#The_general_course_of_action [^3]: https://wiki.alpinelinux.org/wiki/Repositories#Enabling_the_community_repository [^4]: https://wiki.alpinelinux.org/wiki/Setting_up_a_laptop