Title: GearBSD: a project to help automating your OpenBSD
       Author: Solène
       Date: 01 June 2021
       Tags: gearbsd rex openbsd
       Description: 
       
       # Introduction
       
       I love NixOS and Guix for their easy system configuration and easy
       jumping from one machine to another by using your configuration file. 
       To some extent, I want to make it possible to do so on OpenBSD with a
       collection of parametrized Rex modules, allowing to configure your
       system piece by piece from templates that you feed with variables.
       
       Let me introduce you to GearBSD, my project to do so.
       
 (HTM) GearBSD gitlab page
       
       # How to use
       
       You need to clone https://tildegit.org/solene/gearbsd using git and you
       also need to install Rex with pkg_add p5-Rex.
       
       Use cd to enter into a directory like openbsd/pf (the only one module
       at this time), edit the Rexfile to change the variables as you want and
       run "doas rex configure" to apply.
       
 (HTM) Video example (asciinema recording)
       
       # Example with PF
       
       The PF module has a few variables, in TCPports and UDPports you can
       list ports or ports ranges that will be allowed, if no ports are in the
       list then the "pass" rules for that protocol won't be there.
       
       If you want to enable nat on em0 for your wg0 interface, set "nat" to
       1, "nat_from_interface" to "wg0" and "nat_to_interface" to "em0" and
       the code will take care of everything, even enabling the sysctl for
       port forwarding.
       
       # More work required
       
       It's only a start but I want to work hard on it to make OpenBSD a more
       accessible system for everyone, and more pleasant to use.