Commit Diff


commit - /dev/null
commit + a1fe4d6d7ddb892d21c1463453dee08a8810dc33
blob - /dev/null
blob + 017baf00ab705618aaf3dc61337cee200a00afab (mode 644)
--- /dev/null
+++ LICENSE
@@ -0,0 +1,2 @@
+Mixed License.
+I chose to mantain the original LICENSE of the projects I've forked. 
blob - /dev/null
blob + 7b25d0ed8dc6ec5447ad75a43e450161adac106f (mode 644)
--- /dev/null
+++ 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.
+
blob - /dev/null
blob + 637f26663bff149fbf67930956e83158d95a80be (mode 644)
--- /dev/null
+++ 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
blob - /dev/null
blob + f216f6d8006946055e259b8911730adffd40e829 (mode 755)
--- /dev/null
+++ 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 
blob - /dev/null
blob + fbb8c32d465dd30e1ed094ab659ef0b419f4b7a9 (mode 755)
--- /dev/null
+++ 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."
blob - /dev/null
blob + 73cf8897d92d459f0274fbdd2c7e84d00b3fb6b5 (mode 644)
Binary files /dev/null and screenshot.png differ