diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-11-24 16:07:30 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-11-26 11:10:20 +0100 |
commit | 0c17f72070cbfb04f311b776a080849b369aac25 (patch) | |
tree | afd951d7e74ad2f244659a1e921a65c3fbd98607 | |
parent | 608d3dca89d73fe7260e97a284a8aeea756a3e11 (diff) | |
download | guix-0c17f72070cbfb04f311b776a080849b369aac25.tar.gz |
services: openssh: Install OpenSSH in the system profile.
This ensures one can scp to or from the GuixSD machine that uses the service. * gnu/services/ssh.scm (openssh-service-type)[extensions]: Add PROFILE-SERVICE-TYPE extension. * gnu/system/examples/bare-bones.tmpl <packages>: Remove OPENSSH. * doc/guix.texi (Using the Configuration System): Adjust accordingly.
-rw-r--r-- | doc/guix.texi | 6 | ||||
-rw-r--r-- | gnu/services/ssh.scm | 10 | ||||
-rw-r--r-- | gnu/system/examples/bare-bones.tmpl | 4 |
3 files changed, 14 insertions, 6 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index a2af1e9cbd..917a3e9d57 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -9727,9 +9727,9 @@ environment variable---in addition to the per-user profiles provides all the tools one would expect for basic user and administrator tasks---including the GNU Core Utilities, the GNU Networking Utilities, the GNU Zile lightweight text editor, @command{find}, @command{grep}, -etc. The example above adds GNU@tie{}Screen and OpenSSH to those, -taken from the @code{(gnu packages screen)} and @code{(gnu packages ssh)} -modules (@pxref{Package Modules}). The +etc. The example above adds GNU@tie{}Screen to those, +taken from the @code{(gnu packages screen)} +module (@pxref{Package Modules}). The @code{(list package output)} syntax can be used to add a specific output of a package: diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index 056602248f..bb94c5f41a 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -518,7 +518,15 @@ of user-name/file-like tuples." (service-extension activation-service-type openssh-activation) (service-extension account-service-type - (const %openssh-accounts)))) + (const %openssh-accounts)) + + ;; Install OpenSSH in the system profile. That way, + ;; 'scp' is found when someone tries to copy to or from + ;; this machine. + (service-extension profile-service-type + (lambda (config) + (list (openssh-configuration-openssh + config)))))) (compose concatenate) (extend extend-openssh-authorized-keys) (default-value (openssh-configuration)))) diff --git a/gnu/system/examples/bare-bones.tmpl b/gnu/system/examples/bare-bones.tmpl index 889dcabe64..902dacbe57 100644 --- a/gnu/system/examples/bare-bones.tmpl +++ b/gnu/system/examples/bare-bones.tmpl @@ -3,7 +3,7 @@ (use-modules (gnu)) (use-service-modules networking ssh) -(use-package-modules screen ssh) +(use-package-modules screen) (operating-system (host-name "komputilo") @@ -40,7 +40,7 @@ %base-user-accounts)) ;; Globally-installed packages. - (packages (cons* screen openssh %base-packages)) + (packages (cons screen %base-packages)) ;; Add services to the baseline: a DHCP client and ;; an SSH server. |