diff options
-rw-r--r-- | guix/scripts.scm | 3 | ||||
-rw-r--r-- | guix/ui.scm | 7 |
2 files changed, 6 insertions, 4 deletions
diff --git a/guix/scripts.scm b/guix/scripts.scm index d5c53dea1b..9ff7f25548 100644 --- a/guix/scripts.scm +++ b/guix/scripts.scm @@ -165,7 +165,8 @@ Show what and how will/would be built." (define age (match (false-if-not-found - (lstat (string-append (config-directory) "/latest"))) + (lstat (string-append (config-directory #:ensure? #f) + "/latest"))) (#f #f) (stat (- (time-second (current-time time-utc)) (stat:mtime stat))))) diff --git a/guix/ui.scm b/guix/ui.scm index e7cb40927b..edd04daa81 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -775,9 +775,9 @@ replacement if PORT is not Unicode-capable." (($ <location> file line column) (format #f "~a:~a:~a" file line column)))) -(define (config-directory) +(define* (config-directory #:key (ensure? #t)) "Return the name of the configuration directory, after making sure that it -exists. Honor the XDG specs, +exists if ENSURE? is true. Honor the XDG specs, <http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html>." (let ((dir (and=> (or (getenv "XDG_CONFIG_HOME") (and=> (getenv "HOME") @@ -785,7 +785,8 @@ exists. Honor the XDG specs, (cut string-append <> "/guix")))) (catch 'system-error (lambda () - (mkdir-p dir) + (when ensure? + (mkdir-p dir)) dir) (lambda args (let ((err (system-error-errno args))) |