diff options
-rw-r--r-- | LICENSE | 2 | ||||
-rw-r--r-- | README.md | 104 | ||||
-rw-r--r-- | dependencies.txt | 18 | ||||
-rwxr-xr-x | install-dependencies.sh | 14 | ||||
-rwxr-xr-x | install.sh | 48 | ||||
-rw-r--r-- | screenshot.png | bin | 0 -> 367304 bytes |
6 files changed, 186 insertions, 0 deletions
@@ -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 Binary files differnew file mode 100644 index 0000000..73cf889 --- /dev/null +++ b/screenshot.png |