~ruther/guix-local

a1e87abaa364f8391cfd1f49bb01876f7a730bfb — 45mg 1 year, 4 months ago 490b4e1
services: network-manager: Handle existing configuration directory.

* gnu/services/networking.scm (network-manager-activation):
Handle the case where /etc/NetworkManager/conf.d already exists.

Change-Id: I7af4f4ad226eef28bd8667f0708525e77a6a50c8
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
1 files changed, 12 insertions(+), 1 deletions(-)

M gnu/services/networking.scm
M gnu/services/networking.scm => gnu/services/networking.scm +12 -1
@@ 1432,7 1432,18 @@ project's documentation} for more information."
               '((mkdir-p "/var/lib/misc"))
               '())
        #$@(if (pair? extra-configuration-files)  ;if non-empty
               `((symlink
               ;; If /etc/NetworkManager/conf.d is a symlink to a store file,
               ;; delete it.
               `((if (and (file-exists? "/etc/NetworkManager/conf.d")
                          (store-file-name?
                           (canonicalize-path "/etc/NetworkManager/conf.d")))
                     (delete-file-recursively
                      "/etc/NetworkManager/conf.d"))
                 ;; If it exists but is not a symlink to a store file, then
                 ;; this will fail with EEXIST; we leave this for the user to
                 ;; handle, since they probably created the directory
                 ;; themselves.
                 (symlink
                  ,(file-union "network-manager-configuration-directory"
                               extra-configuration-files)
                  "/etc/NetworkManager/conf.d"))