aboutsummaryrefslogtreecommitdiff
path: root/wiki/openbsd_desktop_environment.md
blob: 993da296c68a17030d18adc5826e7de3da17ed79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
---
layout: page
title: OpenBSD Desktop Environment
permalink: /wiki/openbsd/desktop_environment
---

This page covers the initial setup for installing and configuring `dwm` as a desktop environment on OpenBSD. Everything posted here relies on my personal "Open Suck" installer: [Open Suck](https://git.btxx.org/open-suck/about/)

## Show Don't Tell

<figure>
<img src="https://btxx.org/posts/OpenBSD_is_a_Cozy_Operating_System/open-suck-75.png" alt="Screenshot of OpenBSD 7.5 running dwm">
<figcaption>Open Suck: OpenBSD 7.5 running dwm on my X220</figcaption>
</figure>
 
## What You Get

The Open Suck installer gives you the absolute barebones desktop experience:

- `dwm` for window management
- `qutebrowser` as your core web browser
- `aerc` for your terminal-based mail client
- `slock` for screen locking
- `scrot`/`slop` for simple screenshot utilities
- `dunst` for notifications

## Required Packages

Before we begin setting things up, you will need to install `git`, `vim`, `bash`:

    pkg_add git vim bash

## Cloning the Project

Clone the main installer project and navigate instead the directory:

    git clone https://git.btxx.org/open-suck
    cd open-suck

## Installing

1. Install dependencies by running `./install-dependencies.sh`. The script will simply read required packages from `dependencies.txt` and run `pkg_add`.
2. Compile and install suckless software by running the `./install.sh`

## TL;DR

    # Install OpenBSD packages
    doas sh ./install-dependencies.sh
    # Install suckless tools
    doas sh ./install.sh
    # Apply .xinitrc
    cp .xinitrc ~/.xinitrc

Reboot the machine. Log in as your main user. Run:


    startx


That's it! You now have a fully functional desktop environment built on top of `dwm`.