summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi9
-rw-r--r--gnu/services/vpn.scm19
2 files changed, 28 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index c4cbdef9bb..e11f7adebb 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -26772,6 +26772,15 @@ Defaults to @samp{()}.
 The @code{(gnu services vpn)} module provides services related to
 @dfn{virtual private networks} (VPNs).
 
+@subsubheading Bitmask
+
+@defvr {Scheme Variable} bitmask-service-type
+A service type for the @uref{https://bitmask.net, Bitmask} VPN client.  It makes
+the client available in the system and loads its polkit policy.  Please note that
+the client expects an active polkit-agent, which is either run by your
+desktop-environment or should be run manually.
+@end defvr
+
 @subsubheading OpenVPN
 
 It provides a @emph{client} service for your machine to connect to a
diff --git a/gnu/services/vpn.scm b/gnu/services/vpn.scm
index a51dda3873..df84905eb3 100644
--- a/gnu/services/vpn.scm
+++ b/gnu/services/vpn.scm
@@ -6,6 +6,8 @@
 ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
 ;;; Copyright © 2021 Domagoj Stolfa <ds815@gmx.com>
 ;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
+;;; Copyright © 2021 jgart <jgart@dismail.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,6 +27,7 @@
 (define-module (gnu services vpn)
   #:use-module (gnu services)
   #:use-module (gnu services configuration)
+  #:use-module (gnu services dbus)
   #:use-module (gnu services shepherd)
   #:use-module (gnu system shadow)
   #:use-module (gnu packages admin)
@@ -70,6 +73,22 @@
             wireguard-service-type))
 
 ;;;
+;;; Bitmask.
+;;;
+
+(define-public bitmask-service-type
+  (service-type
+   (name 'bitmask)
+   (description "Setup the @uref{https://bitmask.net, Bitmask} VPN application.")
+   (default-value bitmask)
+   (extensions
+    (list
+     ;; Add bitmask to the system profile.
+     (service-extension profile-service-type list)
+     ;; Configure polkit policy of bitmask.
+     (service-extension polkit-service-type list)))))
+
+;;;
 ;;; OpenVPN.
 ;;;