From: Joshua Branson <[email-masked]>
Date: Sun, 23 Feb 2020 14:33:28 -0500

>>
>>- [ ] "persist-key"
>>- [ ] "persist-tun"
>We already have both of them. Are they not documented? They should be 
>persist-key? and persist-tun? respectively.

That was my mistake.  Please ignore that.  They are documented sir.
(sorry Military school).

>>- [ ] "remote-random"
>>- [ ] "pull"
>>- [X] "comp-lzo no"
>>- [ ] "tls-client"  does tls-auth provide this option???
>tls-auth and tls-client are different options. tls-client replaces the client 
>directive we currently generate for all openvpn-client-configuration.

When I look at my currently generated openvpn configuration file I see:
#+BEGIN_SRC
joshua@dobby ~/prog/guile/guix-config$ cat /gnu/store/nm4dvmsffrghdxjlqj712qhrv6w4fd4m-openvpn.conf
client
proto udp
dev tun
ca /home/joshua/prog/guile/guix-config/vpn/ca2.crt
cert /home/joshua/prog/guile/guix-config/vpn/client.crt
key /home/joshua/prog/guile/guix-config/vpn/client.key
persist-key 
persist-tun 
fast-io 
verb 3
auth-user-pass /home/joshua/prog/guile/guix-config/vpn/login.conf
remote-cert-tls server
nobind
resolv-retry infinite
remote asecretremote.com 1195
#+END_SRC

I do not see the "tls-client" option, but my working vpn client configuration file has "tls-client" in it.

My current vpn configuration is:

   (openvpn-client-service
    #:config
    (let ([base-dir "/home/joshua/prog/guile/guix-config/vpn/"])
      (openvpn-client-configuration
       (auth-user-pass (string-append base-dir "login.conf"))
       (ca (string-append base-dir "ca2.crt"))
       (cert (string-append base-dir "client.crt"))
       (key (string-append base-dir "client.key"))
       ;; the expressvpn file I use disables lzo compression
       (comp-lzo? #f)
       (fast-io? #t)
       (remote
        (list
         (openvpn-remote-configuration
          (name "asecretremote.com")
          (port 1195)))))))

Also, I can confirm that your auth-user-pass does work.

Thanks,

Joshua