From 378f72413697e418061fe359acddf24d6afe1add Mon Sep 17 00:00:00 2001 From: apoorv569 Date: Wed, 25 Sep 2024 09:10:36 +0530 Subject: [PATCH 2/2] Wireguard add autostart? field --- gnu/services/vpn.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/services/vpn.scm b/gnu/services/vpn.scm index 449909e34d..eee7e78c6d 100644 --- a/gnu/services/vpn.scm +++ b/gnu/services/vpn.scm @@ -86,6 +86,7 @@ (define-module (gnu services vpn) wireguard-configuration-pre-down wireguard-configuration-post-down wireguard-configuration-table + wireguard-configuration-autostart? wireguard-service-type)) @@ -760,7 +761,9 @@ (define-record-type* (post-down wireguard-configuration-post-down ;list of strings (default '())) (table wireguard-configuration-table ;string - (default "auto"))) + (default "auto")) + (autostart? wireguard-configuration-autostart? + (default #f))) (define (wireguard-configuration-file config) (define (peer->config peer) @@ -907,7 +910,8 @@ (define (wireguard-shepherd-service config) (match-record config (wireguard interface) (let ((wg-quick (file-append wireguard "/bin/wg-quick")) - (config (wireguard-configuration-file config))) + (config (wireguard-configuration-file config)) + (autostart (wireguard-configuration-autostart? config))) (list (shepherd-service (requirement '(networking)) (provision (list (wireguard-service-name interface))) @@ -916,6 +920,7 @@ (define (wireguard-shepherd-service config) (stop #~(lambda _ (invoke #$wg-quick "down" #$config) #f)) ;stopped! + (auto-start? autostart) (actions (list (shepherd-configuration-action config))) (documentation "Run the Wireguard VPN tunnel")))))) -- 2.46.0