aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBradley Taunt <bt@btxx.org>2024-01-23 15:20:13 -0500
committerBradley Taunt <bt@btxx.org>2024-01-23 15:20:13 -0500
commitf56fc53c62d1a27c9fc61eaf5b1b6675ee89e79e (patch)
tree47bd6ddcce09bb9eb732a8b3c3acb53612f22a18
Initial commit on cgit platform
-rw-r--r--.xinitrc12
-rw-r--r--LICENSE2
-rw-r--r--README.md105
-rw-r--r--dependencies.txt17
-rwxr-xr-xinstall-dependencies.sh14
-rwxr-xr-xinstall.sh50
-rw-r--r--screenshot.pngbin0 -> 367304 bytes
7 files changed, 200 insertions, 0 deletions
diff --git a/.xinitrc b/.xinitrc
new file mode 100644
index 0000000..581feb0
--- /dev/null
+++ b/.xinitrc
@@ -0,0 +1,12 @@
+xsetroot -solid "#000000" &
+
+slstatus &
+
+# Edit to set the wallpaper.
+# feh --bg-fill ~/wallpaper/bg.png
+
+# start up picom to avoid screen tearing
+picom --vsync &
+
+# Saving a dwm log
+exec dwm > ~/.dwm.log
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..017baf0
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,2 @@
+Mixed License.
+I chose to mantain the original LICENSE of the projects I've forked.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..c5d7c85
--- /dev/null
+++ b/README.md
@@ -0,0 +1,105 @@
+# Open Suck
+
+Lightweight Desktop installer for OpenBSD based on the suckless philosophy.
+Includes my own custom set of suckless tools (dwm, slstatus, dmenu, etc.)
+
+![Screenshot of dwm running on
+OpenBSD](/screenshots/open-suck.png)
+
+Successfully installed on:
+
+- ThinkPad X201
+- ThinkPad X220
+- ThinkPad X260
+- Lenovo M73 Tiny
+
+## 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
+
+## Downloading
+
+1. Download the latest OpenBSD iso and follow the installer
+2. Install `git`, `vim`, `bash`
+3. Edit/create doas permissions (`/etc/doas.conf`):
+
+```
+permit nopass :wheel
+```
+
+Now logout and log back in as your main user.
+
+---
+
+Clone the main installer project:
+
+`git clone https://git.sr.ht/~bt/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
+
+```sh
+cd open-suck # CD into this repository
+doas sh ./install-dependencies.sh # Install OpenBSD packages
+```
+
+Be sure to edit the main `install.sh` file and change the username "bt" to your own:
+
+```sh
+mkdir /home/bt/.suckless
+cd /home/bt/.suckless
+```
+
+Save your changes and then run:
+
+```sh
+doas sh ./install.sh # Install suckless tools
+cp .xinitrc ~/.xinitrc # Apply .xinitrc
+```
+
+Reboot the machine. Log in as your main user. Run:
+
+```
+startx
+```
+
+---
+
+## Optimizing OpenBSD
+
+### Improving Battery Performance
+
+Properly setup apmd:
+
+```
+rcctl enable apmd
+rcctl set apmd flags -A
+rcctl start apmd
+```
+
+### Setup WiFi
+
+> The following assumes you have installed/setup the proper firmware updates for your hardware.
+
+
+```
+ifconfig iwn0 nwid ID wpakey PASSPHRASE
+```
+
+Take note of the `iwn0`, as this might differ on your machine.
+
+You might also need to run `doas sh /etc/netstart` after.
+
diff --git a/dependencies.txt b/dependencies.txt
new file mode 100644
index 0000000..2bf5c98
--- /dev/null
+++ b/dependencies.txt
@@ -0,0 +1,17 @@
+# Based on OpenBSD 7.4
+
+# Browser
+qutebrowser
+
+# Mail
+aerc
+
+# Fonts
+jetbrains-mono
+
+# Utilities
+feh
+picom
+dunst
+scrot
+slop
diff --git a/install-dependencies.sh b/install-dependencies.sh
new file mode 100755
index 0000000..f216f6d
--- /dev/null
+++ b/install-dependencies.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+if [ "$EUID" -ne 0 ]
+ then echo "The script has to be run as root."
+ exit
+fi
+
+echo "This script is designed for OpenBSD and it will not work with in any other OS"
+echo "Installing dependencies listed in dependencies.txt..."
+
+sed -e 's/#.*$//' -e '/^$/d' dependencies.txt | while read p; do
+ echo "Running pkg_add $p"
+ pkg_add $p
+done
diff --git a/install.sh b/install.sh
new file mode 100755
index 0000000..265b5d8
--- /dev/null
+++ b/install.sh
@@ -0,0 +1,50 @@
+#!/bin/bash
+
+if [ "$EUID" -ne 0 ]
+ then echo "The script has to be run as root."
+ exit
+fi
+
+mkdir /home/bt/.suckless
+cd /home/bt/.suckless
+
+git clone https://git.sr.ht/~bt/dwmo
+cd dwmo
+echo "Installing dwm"
+rm -rf config.h
+make clean install
+cd ..
+
+git clone https://git.sr.ht/~bt/dmenuo
+cd dmenuo
+echo "Installing dmenu"
+rm -rf config.h
+make clean install
+cd ..
+
+git clone https://git.sr.ht/~bt/slstatuso
+cd slstatuso
+echo "Installing slstatus"
+rm -rf config.h
+make clean install
+cd ..
+
+git clone https://git.sr.ht/~bt/sto
+cd sto
+echo "Installing st"
+rm -rf config.h
+make clean install
+cd ..
+
+git clone https://git.sr.ht/~bt/slocko
+cd slocko
+echo "Installing slock"
+rm -rf config.h
+make clean install
+cd ..
+cd ..
+
+rcctl enable apmd
+rcctl start apmd
+
+echo "Install finished. You should reboot the machine now."
diff --git a/screenshot.png b/screenshot.png
new file mode 100644
index 0000000..73cf889
--- /dev/null
+++ b/screenshot.png
Binary files differ