home: services: ssh: Allow unset boolean options in ssh-config.
From man 5 ssh_config: Unless noted otherwise, for each parameter, the first obtained value will be used. We want to allow falling through to the first explicitly chosen user defined value. * gnu/home/services.ssh.scm (define-maybe boolean): New configuration. (openssh-host)[forward-x11?, forward-x11-trusted?, forward-agent?, compression?]: Replace default value with maybe-boolean. * doc/guix.texi (Secure Shell): Update documentation to match the changes in the code.
This commit is contained in:
		
							parent
							
								
									f8cf3982ff
								
							
						
					
					
						commit
						87cf2a859d
					
				
					 2 changed files with 12 additions and 9 deletions
				
			
		|  | @ -33,7 +33,7 @@ Copyright @copyright{} 2015, 2016, 2017, 2019, 2020, 2021, 2023 Leo Famulari@* | |||
| Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus@* | ||||
| Copyright @copyright{} 2016 Ben Woodcroft@* | ||||
| Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@* | ||||
| Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner@* | ||||
| Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@* | ||||
| Copyright @copyright{} 2016 John Darrington@* | ||||
| Copyright @copyright{} 2016, 2017 Nikita Gillmann@* | ||||
| Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan Nieuwenhuizen@* | ||||
|  | @ -43129,19 +43129,19 @@ TCP port number to connect to. | |||
| @item @code{user} (type: maybe-string) | ||||
| User name on the remote host. | ||||
| 
 | ||||
| @item @code{forward-x11?} (default: @code{#f}) (type: boolean) | ||||
| @item @code{forward-x11?} (type: maybe-boolean) | ||||
| Whether to forward remote client connections to the local X11 graphical | ||||
| display. | ||||
| 
 | ||||
| @item @code{forward-x11-trusted?} (default: @code{#f}) (type: boolean) | ||||
| @item @code{forward-x11-trusted?} (type: maybe-boolean) | ||||
| Whether remote X11 clients have full access to the original X11 | ||||
| graphical display. | ||||
| 
 | ||||
| @item @code{forward-agent?} (default: @code{#f}) (type: boolean) | ||||
| @item @code{forward-agent?} (type: maybe-boolean) | ||||
| Whether the authentication agent (if any) is forwarded to the remote | ||||
| machine. | ||||
| 
 | ||||
| @item @code{compression?} (default: @code{#f}) (type: boolean) | ||||
| @item @code{compression?} (type: maybe-boolean) | ||||
| Whether to compress data in transit. | ||||
| 
 | ||||
| @item @code{proxy} (type: maybe-proxy-command-or-jump-list) | ||||
|  |  | |||
|  | @ -2,6 +2,7 @@ | |||
| ;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org> | ||||
| ;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr> | ||||
| ;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -118,6 +119,8 @@ | |||
|   (string-append "  " (serialize-field-name field) " " | ||||
|                  (number->string value) "\n")) | ||||
| 
 | ||||
| (define-maybe boolean) | ||||
| 
 | ||||
| (define (serialize-boolean field value) | ||||
|   (string-append "  " (serialize-field-name field) " " | ||||
|                  (if value "yes" "no") "\n")) | ||||
|  | @ -235,19 +238,19 @@ Additionally, the field can be left unset to allow any address family.") | |||
|    maybe-string | ||||
|    "User name on the remote host.") | ||||
|   (forward-x11? | ||||
|    (boolean #f) | ||||
|    maybe-boolean | ||||
|    "Whether to forward remote client connections to the local X11 graphical | ||||
| display.") | ||||
|   (forward-x11-trusted? | ||||
|    (boolean #f) | ||||
|    maybe-boolean | ||||
|    "Whether remote X11 clients have full access to the original X11 graphical | ||||
| display.") | ||||
|   (forward-agent? | ||||
|    (boolean #f) | ||||
|    maybe-boolean | ||||
|    "Whether the authentication agent (if any) is forwarded to the remote | ||||
| machine.") | ||||
|   (compression? | ||||
|    (boolean #f) | ||||
|    maybe-boolean | ||||
|    "Whether to compress data in transit.") | ||||
|   (proxy-command | ||||
|    maybe-string | ||||
|  |  | |||
		Reference in a new issue