aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--LICENSE2
-rw-r--r--README.md104
-rw-r--r--dependencies.txt18
-rwxr-xr-xinstall-dependencies.sh14
-rwxr-xr-xinstall.sh48
-rw-r--r--screenshot.pngbin0 -> 367304 bytes
6 files changed, 186 insertions, 0 deletions
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..7b25d0e
--- /dev/null
+++ b/README.md
@@ -0,0 +1,104 @@
+# Open Suck
+
+**Latest changes based off OpenBSD 7.5**
+
+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](./open-suck-75.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
+- `ranger` for your file browser
+- `qutebrowser` as your core web browser
+- `aerc` for your terminal-based mail client
+- `slock` for screen locking
+- `scrot`/`slop` for simple screenshot utilities
+- `feh` for your image/file viewing
+- `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-installer`
+
+`cd open-suck-installer`
+
+## 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`
+3) Core program files (dwm, dmenu, etc) will be placed inside a newly created `open-suck-core` directory. Feel free to delete, rename or move this.
+
+## TL;DR
+
+```sh
+cd open-suck-installer # CD into this repository
+doas sh ./install-dependencies.sh # Install OpenBSD packages
+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 up
+ifconfig iwn0 scan
+echo "join WIFI-NAME wpakey PASSPHRASE" >> /etc/hostname.iwn0
+echo "dhcp" >> /etc/hostname.iwn0
+echo "inet6 autoconf" >> /etc/hostname.iwn0
+echo "up powersave" >> /etc/hostname.iwn0
+dhclient iwn0
+```
+
+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..637f266
--- /dev/null
+++ b/dependencies.txt
@@ -0,0 +1,18 @@
+# Based on OpenBSD 7.5
+
+# Browser
+qutebrowser
+
+# Mail
+aerc-0.17.0
+
+# Fonts
+jetbrains-mono
+
+# Utilities
+ranger
+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..fbb8c32
--- /dev/null
+++ b/install.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+if [ "$EUID" -ne 0 ]
+ then echo "The script has to be run as root."
+ exit
+fi
+
+echo "Cloning core suckless programs into /open-suck-core"
+mkdir ~/open-suck-core
+cd ~/open-suck-core
+git clone https://git.sr.ht/~bt/dwmo
+git clone https://git.sr.ht/~bt/dmenuo
+git clone https://git.sr.ht/~bt/slstatuso
+git clone https://git.sr.ht/~bt/slocko
+git clone https://git.sr.ht/~bt/sto
+
+cd dwmo
+echo "Installing dwm"
+rm -rf config.h
+make clean install
+cd ..
+
+cd dmenuo
+echo "Installing dmenu"
+rm -rf config.h
+make clean install
+cd ..
+
+cd slstatuso
+echo "Installing slstatus"
+rm -rf config.h
+make clean install
+cd ..
+
+cd sto
+echo "Installing st"
+rm -rf config.h
+make clean install
+cd ..
+
+cd slocko
+echo "Installing slock"
+rm -rf config.h
+make clean install
+cd ..
+cd ..
+
+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