diff options
-rw-r--r-- | .xinitrc | 12 | ||||
-rw-r--r-- | LICENSE | 2 | ||||
-rw-r--r-- | README.md | 105 | ||||
-rw-r--r-- | dependencies.txt | 17 | ||||
-rwxr-xr-x | install-dependencies.sh | 14 | ||||
-rwxr-xr-x | install.sh | 50 | ||||
-rw-r--r-- | screenshot.png | bin | 0 -> 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 @@ -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 Binary files differnew file mode 100644 index 0000000..73cf889 --- /dev/null +++ b/screenshot.png |