summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid T. Sadler <davidtsadler@googlemail.com>2020-08-15 23:44:07 +0100
committerDavid T. Sadler <davidtsadler@googlemail.com>2020-08-15 23:44:07 +0100
commit36c44a9423aedea06a7c344ce624ba28f17bda05 (patch)
tree585dcbbc509ec49ca6f6029426d8c3b0a599e466
parent62dd035c2cb38ef00afaff99865c4badfdc80644 (diff)
Add Installing ST, DMENU and DWM in Arch Linux
-rw-r--r--source/_posts/installing_st_dmenu_and_dwm_in_arch_linux.md129
1 files changed, 129 insertions, 0 deletions
diff --git a/source/_posts/installing_st_dmenu_and_dwm_in_arch_linux.md b/source/_posts/installing_st_dmenu_and_dwm_in_arch_linux.md
new file mode 100644
index 0000000..0bc95a0
--- /dev/null
+++ b/source/_posts/installing_st_dmenu_and_dwm_in_arch_linux.md
@@ -0,0 +1,129 @@
+---
+extends: _layouts.post
+section: content
+title: Installing ST, DMENU and DWM in Arch Linux
+date: 2020-08-17
+description: This guide shows I install st, dmenu and dwm from suckless.
+tags: [Arch]
+---
+
+Continuing my [Arch Linux installation](/posts/installing-arch-linux-on-a-x220-thinkpad/) I now have a user account for daily use. However this only provides me with a terminal. What I would like is a traditional multi-window desktop environment which will require me to install two things. A window system of some sort and a layout manager. For this installation I'm going with Xorg and [dwm](https://dwm.suckless.org/). For those that are not aware dwm is dynamic window manager for Xorg that has been developed by [Suckless](https://suckless.org/). Since by default dwm expects [st](https://st.suckless.org/) to be installed as the system's terminal and also makes use [dmenu](https://tools.suckless.org/dmenu/) to allow you to launch applications I will installed both of them in addition to dwm.
+
+## Install Dependencies
+
+Firt off I need to install the dependencies required by st, dmenu and dwm. Since this is Arch Linux I use *pacman* to do this.
+
+```shell
+$ sudo pacman -S base-devel git libx11 libxft xorg-server xorg-xinit terminus-font
+```
+
+- *base-devel* Since I will be installing from source this package contains various tools to compile software.
+- *git* Is needed to get the source code from the suckless git repositories.
+- *libx11* and *libxft* Dependanices required by dwm oherwise it will fail when trying to compile it.
+- *xorg-server* Is the display server that provides the windows that dwm will manage.
+- *xorg-xinit* Allows us to start the display server.
+- *terminus-font* Dwm is configured to use a monospaced font and since I installed a barebones system I need to install such a font now.
+
+## Download Git Repositories
+
+The source code for the software is avialable from the Suckless git repositories so I simply clone them.
+
+```shell
+$ mkdir -p ~/.local/src
+
+$ git clone git://git.suckless.org/st ~/.local/src/st
+$ git clone git://git.suckless.org/dmenu ~/.local/src/dmenu
+$ git clone git://git.suckless.org/dwm ~/.local/src/dwm
+```
+
+## Install ST
+
+I install st by first moving to the directory created when cloning the repository.
+
+```shell
+$ cd ~/.local/src/st
+```
+
+Then its as simple as compiling and instaling the software with the below commands.
+
+
+```shell
+$ make clean
+$ sudo make install
+```
+
+## Configure and Install DMENU
+
+Again move to the directory created earlier.
+
+```shell
+$ cd ~/.local/src/dmenu
+```
+
+Before compiling a small edit needs to be made to the file *config.mk*.
+
+
+```shell
+$ nvim config.mk
+```
+
+Since I have not installed Xinerama on this system I need to comment out any flags that reference this otherwise dmenu will fail during the compiling.
+
+```vim
+# XINERAMALIBS = -lXinerama
+# XINERAMAFLAGS = -DXINERAMA
+```
+
+Again compiling and installing is done with the below commands.
+
+```shell
+$ make clean
+$ sudo make install
+```
+
+## Configure and Install DWM
+
+For the final time move to the directory created earlier.
+
+```shell
+$ cd ~/.local/src/dwm
+```
+
+As with dmenu the same edit needs to be made to the file *config.mk*.
+
+
+```shell
+$ nvim config.mk
+```
+
+```vim
+# XINERAMALIBS = -lXinerama
+# XINERAMAFLAGS = -DXINERAMA
+```
+
+Compile and install as usual.
+
+```shell
+$ make clean
+$ sudo make install
+```
+
+## Starting DWM
+
+Since I have installed xorg-xinit I need to create a *.xinitrc* in my home folder.
+
+```shell
+$ nvim ~/.xinitrc
+```
+
+The contents of this file is just.
+
+```vim
+exec dwm
+```
+
+I can now start xorg and dwm with the below command.
+
+```shell
+$ startx
+```