aboutsummaryrefslogtreecommitdiff
path: root/src/data.lisp
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-08-04 17:09:47 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-11-08 16:00:27 -0700
commit1e99ee6ff7f47db2052e226d7b071e31ff33b56c (patch)
treec27a22b6cb4e7d2c8b0b1aad4dc747c31102958d /src/data.lisp
parent42489752b4c78f6bbc80bb56a4347b692a067c29 (diff)
downloadconsfigurator-1e99ee6ff7f47db2052e226d7b071e31ff33b56c.tar.gz
add LXC properties, :LXC{,-UNPRIV-ATTACH} connections, WITH-HOMEDIR
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/data.lisp')
-rw-r--r--src/data.lisp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/data.lisp b/src/data.lisp
index 4962ae0..1b74338 100644
--- a/src/data.lisp
+++ b/src/data.lisp
@@ -469,7 +469,17 @@ properties, or data sources which return objects referencing existing files."
:version (caddr triple))))
(defun get-local-data-cache-dir ()
- (merge-pathnames "consfigurator/data/" (uiop:xdg-cache-home)))
+ (merge-pathnames
+ "data/"
+ ;; A combinator like WITH-HOMEDIR might have temporarily set the HOME
+ ;; and/or XDG_CACHE_HOME environment variables, so use a cached value if we
+ ;; can find one.
+ (or (loop for conn = *connection* then (connection-parent conn)
+ while conn
+ when (subtypep (type-of conn) 'lisp-connection)
+ return (connection-connattr conn :consfigurator-cache))
+ (connection-connattr
+ (establish-connection :local nil) :consfigurator-cache))))
;;;; Passphrases