From 642d60cb023b2727b3e0e405180da387152a7512 Mon Sep 17 00:00:00 2001 From: Bradley Taunt Date: Wed, 20 Aug 2025 15:18:57 -0400 Subject: Overhaul for self hosting, tweaks --- .ruby-version | 1 + README | 16 ++++ README.md | 16 ---- _header.html | 2 +- assets/favicon.ico | Bin 0 -> 13065 bytes assets/images/fvwm.png | Bin 0 -> 72454 bytes assets/images/pager.png | Bin 0 -> 1021 bytes assets/images/xenodm-stock.png | Bin 0 -> 60439 bytes assets/style.css | 108 +++++++++++++++++++++ build.sh | 11 ++- favicon.ico | Bin 13065 -> 0 bytes files/.Xresources | 10 -- files/.cwmrc | 57 ------------ files/.exrc | 8 -- files/.xinitrc | 11 --- images/fvwm.png | Bin 72454 -> 0 bytes images/pager.png | Bin 1021 -> 0 bytes images/xenodm-stock.png | Bin 60439 -> 0 bytes index.md | 13 +-- public/fvwm.png | Bin 72454 -> 0 bytes public/images/fvwm.png | Bin 0 -> 72454 bytes public/images/pager.png | Bin 0 -> 1021 bytes public/images/xenodm-stock.png | Bin 0 -> 60439 bytes public/index.html | 207 ++++++++++++++++++++--------------------- public/index.html.gz | Bin 4077 -> 4154 bytes public/pager.png | Bin 1021 -> 0 bytes public/style.css.gz | Bin 559 -> 559 bytes public/xenodm-stock.png | Bin 60439 -> 0 bytes style.css | 108 --------------------- 29 files changed, 241 insertions(+), 327 deletions(-) create mode 100644 .ruby-version create mode 100644 README delete mode 100644 README.md create mode 100644 assets/favicon.ico create mode 100644 assets/images/fvwm.png create mode 100644 assets/images/pager.png create mode 100644 assets/images/xenodm-stock.png create mode 100644 assets/style.css delete mode 100644 favicon.ico delete mode 100644 files/.Xresources delete mode 100644 files/.cwmrc delete mode 100644 files/.exrc delete mode 100644 files/.xinitrc delete mode 100644 images/fvwm.png delete mode 100644 images/pager.png delete mode 100644 images/xenodm-stock.png delete mode 100644 public/fvwm.png create mode 100644 public/images/fvwm.png create mode 100644 public/images/pager.png create mode 100644 public/images/xenodm-stock.png delete mode 100644 public/pager.png delete mode 100644 public/xenodm-stock.png delete mode 100644 style.css diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 0000000..15a2799 --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +3.3.0 diff --git a/README b/README new file mode 100644 index 0000000..3a0875a --- /dev/null +++ b/README @@ -0,0 +1,16 @@ +openbased +========= + +Setup OpenBSD as a daily driver using only base programs. + +Online Guide +------------ +https://openbased.btxx.org + +Submit tickets, pull requests: +------------------------------ +https://codeberg.org/btxx/openbased + +License +------- +MIT diff --git a/README.md b/README.md deleted file mode 100644 index 3a0875a..0000000 --- a/README.md +++ /dev/null @@ -1,16 +0,0 @@ -openbased -========= - -Setup OpenBSD as a daily driver using only base programs. - -Online Guide ------------- -https://openbased.btxx.org - -Submit tickets, pull requests: ------------------------------- -https://codeberg.org/btxx/openbased - -License -------- -MIT diff --git a/_header.html b/_header.html index 63cd099..1b9d6e5 100644 --- a/_header.html +++ b/_header.html @@ -4,7 +4,7 @@ - OpenBASED - Setup OpenBSD as a daily driver using only the included, base programs + OpenBASED | Setup OpenBSD as a daily driver using only the included, core programs diff --git a/assets/favicon.ico b/assets/favicon.ico new file mode 100644 index 0000000..29e51a7 Binary files /dev/null and b/assets/favicon.ico differ diff --git a/assets/images/fvwm.png b/assets/images/fvwm.png new file mode 100644 index 0000000..4b3b9fe Binary files /dev/null and b/assets/images/fvwm.png differ diff --git a/assets/images/pager.png b/assets/images/pager.png new file mode 100644 index 0000000..13d0d61 Binary files /dev/null and b/assets/images/pager.png differ diff --git a/assets/images/xenodm-stock.png b/assets/images/xenodm-stock.png new file mode 100644 index 0000000..a6e4750 Binary files /dev/null and b/assets/images/xenodm-stock.png differ diff --git a/assets/style.css b/assets/style.css new file mode 100644 index 0000000..0f13cd1 --- /dev/null +++ b/assets/style.css @@ -0,0 +1,108 @@ +* { + box-sizing: border-box; +} + +body { + background: white; + line-height: 1.55; + margin: 0 auto; + padding: 10px; +} + +:link { + color: #23238E; +} +:visited { + color: #008088; +} + +.title { + font-family: "Times New Roman", Times, serif; +} + +.title i { + color: #0000FF; +} +.title b { + color: #000084; +} + +header { + padding: 0 0 10px; +} + +img { + margin: 0 auto; + max-width: 100%; +} + +h1 { + margin: 0; + padding: 0.5rem 0 0; +} + +blockquote { + background: rgba(0,0,0,0.04); + border-left: 4px solid; + margin: 2rem 0; + padding: 6px 10px; +} +blockquote p { + font-style: italic; + margin: 0; +} + +pre { + background: whitesmoke; + border: 1px solid; + overflow: scroll; + padding: 10px; + max-width:100%; +} + +code { + background: whitesmoke; +} + +p code, li code, dl code { + border: 1px solid; + padding: 1px 2px; +} + +h2 code { + font-size: 24px; +} + +footer p { + font-size: 90%; +} + +@media (min-width: 800px) { + body { + max-width: 85%; + } +} + +@media(prefers-color-scheme: dark) { + body { + background: #1E1F21; + } + :link { + color: #BAD7FF; + } + :visited { + color: #F6BAFF; + } + .title { + text-shadow: 2px 2px black; + } + .title i { + color: #F2CA30; + } + .title b { + color: #CF4229; + } + pre, code { + background: black; + } +} diff --git a/build.sh b/build.sh index ec0ea86..fd5a2cf 100644 --- a/build.sh +++ b/build.sh @@ -1,7 +1,10 @@ # ! /bin/sh rm -rf public/* -cp style.css public/ -cp favicon.ico public/ -cp images/* public/ -(cat _header.html; multimarkdown index.md; cat _footer.html) > public/index.html +cp -R assets/* public/ + +for file in *.md; do + name="${file%.md}" + (cat _header.html; kramdown "$file"; cat _footer.html) > "public/${name}.html" +done + find public -type f \( -name "*.html" -o -name "*.css" \) -exec gzip -k -f {} \; diff --git a/favicon.ico b/favicon.ico deleted file mode 100644 index 29e51a7..0000000 Binary files a/favicon.ico and /dev/null differ diff --git a/files/.Xresources b/files/.Xresources deleted file mode 100644 index 102d1b5..0000000 --- a/files/.Xresources +++ /dev/null @@ -1,10 +0,0 @@ -XTerm*faceName: spleen -XTerm*faceSize: 10 -XTerm*loginShell: true -XTerm*shell: /bin/ksh -XTerm*saveLines: 5000 -XTerm*scrollBar: false - -*.foreground: #e8e8e8 -*.background: #000000 -*.cursorColor: #f2ca30 diff --git a/files/.cwmrc b/files/.cwmrc deleted file mode 100644 index f8e50bf..0000000 --- a/files/.cwmrc +++ /dev/null @@ -1,57 +0,0 @@ -fontname "spleen:pixelsize=14" - -autogroup 0 "xclock,xclock" -autogroup 1 xterm -autogroup 2 Firefox - -ignore "xclock" - -gap 32 8 8 8 - -# Any entry here is shown in the application menu -command mail "xterm -e aerc" -#command firefox firefox -command terminal xterm -command top "xterm -e top" - -# Ignore programs by that name by not drawing borders around them. -ignore xclock - -# Key bindings -unbind-key all - -# Only show group nr -bind-key M-1 group-only-1 -bind-key M-2 group-only-2 -bind-key M-3 group-only-3 -bind-key M-4 group-only-4 -bind-key M-5 group-only-5 -bind-key M-6 group-only-6 -bind-key M-7 group-only-7 -bind-key M-8 group-only-8 -bind-key M-9 group-only-9 - -# Move window to group -bind-key MS-1 window-movetogroup-1 -bind-key MS-2 window-movetogroup-2 -bind-key MS-3 window-movetogroup-3 -bind-key MS-4 window-movetogroup-4 -bind-key MS-5 window-movetogroup-5 -bind-key MS-6 window-movetogroup-6 -bind-key MS-7 window-movetogroup-7 -bind-key MS-8 window-movetogroup-8 -bind-key 4S-9 window-movetogroup-9 - -# Custom bindings -bind-key MS-q quit -bind-key MS-c window-close -bind-key M-Tab window-cycle -bind-key M-p menu-cmd -bind-key MS-Return xterm -bind-key MS-l "xlock -mode blank" - -# Mouse bindings -bind-mouse M-2 window-lower -bind-mouse M-3 window-resize - -sticky xclock diff --git a/files/.exrc b/files/.exrc deleted file mode 100644 index 3c3f804..0000000 --- a/files/.exrc +++ /dev/null @@ -1,8 +0,0 @@ -set showmatch -set autoindent -set number -set ruler -set tabstop=4 -set shiftwidth=4 -set expandtab -set ignorecase diff --git a/files/.xinitrc b/files/.xinitrc deleted file mode 100644 index 6477586..0000000 --- a/files/.xinitrc +++ /dev/null @@ -1,11 +0,0 @@ -xsetroot -solid "#000000" & -xset b off - -# start up picom to avoid screen tearing -#picom --vsync & - -xrdb -load ~/.Xresources & - -xclock -bg black -fg "#e8e8e8" -hd red -geometry -0+0 -digital -brief & - -exec cwm diff --git a/images/fvwm.png b/images/fvwm.png deleted file mode 100644 index 4b3b9fe..0000000 Binary files a/images/fvwm.png and /dev/null differ diff --git a/images/pager.png b/images/pager.png deleted file mode 100644 index 13d0d61..0000000 Binary files a/images/pager.png and /dev/null differ diff --git a/images/xenodm-stock.png b/images/xenodm-stock.png deleted file mode 100644 index a6e4750..0000000 Binary files a/images/xenodm-stock.png and /dev/null differ diff --git a/index.md b/index.md index 1aad380..d4edbc3 100644 --- a/index.md +++ b/index.md @@ -1,8 +1,9 @@ -Setup OpenBSD as a daily driver using only the included, core programs. Based on OpenBSD 7.6. +Setup OpenBSD as a daily driver using only the included, core programs. Based on OpenBSD 7.7. --- -{{TOC}} +* toc +{:toc} ## Requirements @@ -106,20 +107,20 @@ Now reboot your device. Now you will be presented with the glorious `xenodm` login screen.
-Default xenodm login screen +Default xenodm login screen
The beautiful, default xenodm login screen. Image taken from tumfatig.net (who has some wonderful OpenBSD guides you should check out!)
Login with your created user details and you should see something like this:
-Default fvwm view once logged in +Default fvwm view once logged in
Taken from the main OpenBSD Wikipedia page. (Some applications will not be opened by default)
Absolutely glorious. You'll also notice a 3x3 grid box in the bottom right corner: -fvwm workspace pager +fvwm workspace pager This is called the "workspace pager" or "pager". Each section represents an individual *desktop* (or workspace if your more familiar with MacOS terminology). You can click on any grid item to instantly move to that desktop. @@ -171,4 +172,4 @@ If you've found this guide helpful or even sparked an interest in OpenBSD, pleas ## Contribute to OpenBASED -I'm far from an OpenBSD expert! Please [help improve this project](https://git.sr.ht/~bt/openbased)! +I'm far from an OpenBSD expert! Please [help improve this project](https://codeberg.org/btxx/openbased)! diff --git a/public/fvwm.png b/public/fvwm.png deleted file mode 100644 index 4b3b9fe..0000000 Binary files a/public/fvwm.png and /dev/null differ diff --git a/public/images/fvwm.png b/public/images/fvwm.png new file mode 100644 index 0000000..4b3b9fe Binary files /dev/null and b/public/images/fvwm.png differ diff --git a/public/images/pager.png b/public/images/pager.png new file mode 100644 index 0000000..13d0d61 Binary files /dev/null and b/public/images/pager.png differ diff --git a/public/images/xenodm-stock.png b/public/images/xenodm-stock.png new file mode 100644 index 0000000..a6e4750 Binary files /dev/null and b/public/images/xenodm-stock.png differ diff --git a/public/index.html b/public/index.html index 1691e15..babd3de 100644 --- a/public/index.html +++ b/public/index.html @@ -4,104 +4,99 @@ - OpenBASED - Setup OpenBSD as a daily driver using only the included, base programs + OpenBASED | Setup OpenBSD as a daily driver using only the included, core programs

OpenBASED


-

Setup OpenBSD as a daily driver using only the included, core programs. Based on OpenBSD 7.6.

+

Setup OpenBSD as a daily driver using only the included, core programs. Based on OpenBSD 7.7.


-
- -

Requirements

-

The real requirements are having patience and a passion for keeping things minimal. It’s important to remeber that this setup isn’t the most user-friendly. There will be no config files to edit or download in this guide. We will be using the xenodm login manager paired with the default stacked window manager fvwm. And that’s it.

+

The real requirements are having patience and a passion for keeping things minimal. It’s important to remeber that this setup isn’t the most user-friendly. There will be no config files to edit or download in this guide. We will be using the xenodm login manager paired with the default stacked window manager fvwm. And that’s it.

You have been warned!

Installation

-

Make sure you have the latest OpenBSD image formatted on a USB device (or burned to a CD if that’s your cup of tea!) and that your computer/laptop is set to boot from USB via the BIOS. Also make sure you are connected to the internet via ethernet cable (don’t worry, we’ll setup WiFi in a minute!)

+

Make sure you have the latest OpenBSD image formatted on a USB device (or burned to a CD if that’s your cup of tea!) and that your computer/laptop is set to boot from USB via the BIOS. Also make sure you are connected to the internet via ethernet cable (don’t worry, we’ll setup WiFi in a minute!)

Boot into the device and input the following when guided through the installer:

    -
  1. Boot from USB
  2. -
  3. Choose Install
  4. -
  5. Keyboard layout: us
  6. -
  7. Hostname: x220 (or whatever you choose)
  8. -
  9. Network: em0
  10. -
  11. IPv4: autoconf
  12. -
  13. IPv6: none
  14. -
  15. Network interface: done
  16. -
  17. Password for root
  18. -
  19. Start sshd by default? yes
  20. -
  21. X Window System start with xenodm? no
  22. -
  23. Setup user? username (follow setup user steps)
  24. -
  25. Allow root ssh login? no
  26. -
  27. Timezone
  28. -
  29. Which disk? Use internal (sd0 etc.)
  30. -
  31. Encrypt root disk? no
  32. -
  33. Use WHOLE disk
  34. -
  35. Use AUTO layout
  36. -
  37. Which disk to initialize: done
  38. -
  39. Location of sets: http
  40. -
  41. HTTP Proxy URL? none
  42. -
  43. HTTP Server? 1 (Toronto)
  44. -
  45. Confirm again
  46. -
  47. Server directory? pub/OpenBSD/7.6/amd64
  48. -
  49. Set names? done
  50. -
  51. Drink some coffee while it verifies (depends on network speed)
  52. -
  53. Location of sets? done
  54. -
  55. Congrats!
  56. -
  57. Reboot and remove USB device
  58. +
  59. Boot from USB
  60. +
  61. Choose Install
  62. +
  63. Keyboard layout: us
  64. +
  65. Hostname: x220 (or whatever you choose)
  66. +
  67. Network: em0
  68. +
  69. IPv4: autoconf
  70. +
  71. IPv6: none
  72. +
  73. Network interface: done
  74. +
  75. Password for root
  76. +
  77. Start sshd by default? yes
  78. +
  79. X Window System start with xenodm? no
  80. +
  81. Setup user? username (follow setup user steps)
  82. +
  83. Allow root ssh login? no
  84. +
  85. Timezone
  86. +
  87. Which disk? Use internal (sd0 etc.)
  88. +
  89. Encrypt root disk? no
  90. +
  91. Use WHOLE disk
  92. +
  93. Use AUTO layout
  94. +
  95. Which disk to initialize: done
  96. +
  97. Location of sets: http
  98. +
  99. HTTP Proxy URL? none
  100. +
  101. HTTP Server? 1 (Toronto)
  102. +
  103. Confirm again
  104. +
  105. Server directory? pub/OpenBSD/7.6/amd64
  106. +
  107. Set names? done
  108. +
  109. Drink some coffee while it verifies (depends on network speed)
  110. +
  111. Location of sets? done
  112. +
  113. Congrats!
  114. +
  115. Reboot and remove USB device
-

First Boot Tweaks

+

First Boot Tweaks

-

User Permissions

+

User Permissions

Before we do anything, we should give our main user full access via doas. Login as root and run the following:

su -
-echo "permit nopass :wheel" >> /etc/doas.conf
+echo "permit nopass :wheel" >> /etc/doas.conf
 exit
 
@@ -117,10 +112,10 @@ exit
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
+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
 
@@ -128,7 +123,7 @@ dhclient iwn0

You might also need to run doas sh /etc/netstart after.

-

Performance Boost

+

Performance Boost

This step is optional and targeted towards devices with batteries (laptops, IoT devices etc). Properly setup apmd:

@@ -137,9 +132,9 @@ rcctl set apmd flags -A rcctl start apmd -

Login Manager

+

Login Manager

-

Remember when we chose No when the installer asked us “X Window System start with xenodm?”. Well, now we want to enable that before our next reboot:

+

Remember when we chose No when the installer asked us “X Window System start with xenodm?”. Well, now we want to enable that before our next reboot:

doas rcctl enable xenodm
 
@@ -149,87 +144,87 @@ rcctl start apmd
doas reboot
 
-

The First Real Login

+

The First Real Login

Now you will be presented with the glorious xenodm login screen.

-Default xenodm login screen +Default xenodm login screen
The beautiful, default xenodm login screen. Image taken from tumfatig.net (who has some wonderful OpenBSD guides you should check out!)

Login with your created user details and you should see something like this:

-Default fvwm view once logged in +Default fvwm view once logged in
Taken from the main OpenBSD Wikipedia page. (Some applications will not be opened by default)
-

Absolutely glorious. You’ll also notice a 3x3 grid box in the bottom right corner:

+

Absolutely glorious. You’ll also notice a 3x3 grid box in the bottom right corner:

-fvwm workspace pager +

fvwm workspace pager

-

This is called the “workspace pager” or “pager”. Each section represents an individual desktop (or workspace if your more familiar with MacOS terminology). You can click on any grid item to instantly move to that desktop.

+

This is called the “workspace pager” or “pager”. Each section represents an individual desktop (or workspace if your more familiar with MacOS terminology). You can click on any grid item to instantly move to that desktop.

You can also navigate around using the Ctl + keys.

-

Playing with Default Packages

+

Playing with Default Packages

-

This section isn’t going to explain each and every single useful package included with the base install of OpenBSD. Instead, I highly recommend that you read the documentation associated with each program. You can read these manual pages from your terminal by running man <package-name>. Teach a man to fish and all that jazz…

+

This section isn’t going to explain each and every single useful package included with the base install of OpenBSD. Instead, I highly recommend that you read the documentation associated with each program. You can read these manual pages from your terminal by running man <package-name>. Teach a man to fish and all that jazz…

-

File & System Management

+

File & System Management

-

User Tools

+

User Tools

Networking

Security

-

Additional Packages

+

Additional Packages

-

I would suggest the following packages once you feel like installing “additional”, non-base software:

+

I would suggest the following packages once you feel like installing “additional”, non-base software:

These can be installed by running doas pkg_add <package> in the terminal.

-

Support OpenBSD

+

Support OpenBSD

-

If you’ve found this guide helpful or even sparked an interest in OpenBSD, please consider donating directly to the OpenBSD Project. A little goes a long way, and the OpenBSD Project is a volunteer-driven software group funded by donations!

+

If you’ve found this guide helpful or even sparked an interest in OpenBSD, please consider donating directly to the OpenBSD Project. A little goes a long way, and the OpenBSD Project is a volunteer-driven software group funded by donations!

-

Contribute to OpenBASED

+

Contribute to OpenBASED

-

I’m far from an OpenBSD expert! Please help improve this project!

+

I’m far from an OpenBSD expert! Please help improve this project!