commit a0a08bbb934f85708ad45120b50d1f97450d60ac
parent 3eda915b4d0b0d954fbda96090f6fe4111156c35
Author: Chris Bracken <chris@bracken.jp>
Date: Sun, 8 Mar 2020 21:53:49 -0700
Add Alpine Linux install walkthrough
This doesn't quite get Sway working. Looks like we might need some
alternative to more bloated systemd-based login/session managers.
Diffstat:
A | alpine_install.md | | | 94 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1 file changed, 94 insertions(+), 0 deletions(-)
diff --git a/alpine_install.md b/alpine_install.md
@@ -0,0 +1,94 @@
+Alpine Linux
+============
+
+Installation
+------------
+
+For initial setup, run:
+
+ setup-alpine
+
+Create a user:
+
+ adduser chris
+ addgroup chris chris
+ addgroup chris wheel
+ addgroup chris video # If building a desktop machine.
+ addgroup chris input # If building a desktop machine.
+
+Install sudo:
+
+ apk update
+ apk upgrade
+ apk add man man-pages
+ apk add sudo sudo-doc
+ apk add coreutils coreutils-doc
+
+Edit `/etc/sudoers` to allow all members of group wheel to execute any command:
+
+ %wheel ALL=(ALL) ALL
+
+Enable the community repository by editing `/etc/apk/repositories`, and
+enabling:
+
+ http://dl-cdn.alpinelinux.org/alpine/v3.10/community
+
+We now have a fully-working base install. Log out then log back in as a user
+in the _wheel_ group and verify that they can issue `sudo` commands. Once this
+has been verified, we can lock down the root account to prevent password-based
+login and force all admin work to be performed via `sudo`.
+
+ passwd -l root
+
+If we ever need to re-enable the root account, we can use the following command
+to unlock it:
+
+ sudo passwd -u root
+
+
+Installing additional components
+--------------------------------
+
+Additional components can be installed via sudo by any user in the wheel group.
+
+### zsh
+
+ apk add zsh zsh-doc
+
+You can then /etc/passwd and change the user's shell to /bin/zsh.
+
+
+### Terminal utilities
+
+ apk add tmux tmux-doc tmux-zsh-completion
+
+
+### Development tools
+
+ # nm, ld, strip, etc.
+ apk add binutils binutils-doc
+
+ # compilers, debuggers
+ apk add clang clang-doc
+ apk add lldb lldb-doc
+ apk add nasm nasm-doc
+
+ # source control
+ apk add git git-doc git-zsh-completion
+ apk add tig tig-doc
+
+
+### Sway window manager
+
+This requires some form of session management to set `XDG_RUNTIME_DIR`, etc.
+given that Alpine does not use systemd.
+
+ apk install eudev eudev-doc
+ apk install sway sway-doc
+
+ apk add \ # Install optional dependencies:
+ xorg-server-xwayland \ # strongly reccommended for compatibility reasons
+ rxvt-unicode rxvt-unicode-doc \ # default terminal emulator
+ dmenu dmenu-doc \ # default application launcher
+ swaylock swaylock-doc \ # lockscreen tool
+ swayidle swayidle-doc # idle management (DPMS) daemon