aboutsummaryrefslogtreecommitdiff
path: root/module/directories.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/directories.scm')
-rw-r--r--module/directories.scm28
1 files changed, 26 insertions, 2 deletions
diff --git a/module/directories.scm b/module/directories.scm
index 32cd382a..7348f6c3 100644
--- a/module/directories.scm
+++ b/module/directories.scm
@@ -1,5 +1,12 @@
(define-module (directories)
- :use-module (util))
+ :use-module (util)
+ :use-module (util config)
+ )
+
+;; TODO possiblyy create a (system) parameter, which flips many
+;; settings between being based in $HOME, and in / (or $prefix/).
+
+(define-config path-prefix "/usr")
(define-public runtime-directory
(or (getenv "XDG_RUNTIME_DIR")
@@ -7,9 +14,26 @@
(define-public system-config-directory "/etc/calp")
-(define user-config-directory
+(define-public user-config-directory
(path-append
(or (getenv "XDG_CONFIG_HOME")
(and=> (getenv "HOME")
(lambda (s) (path-append s "/.config"))))
"/calp"))
+
+(define (libexec%)
+ (path-append (get-config 'path-prefix)
+ "/lib/calp"))
+
+(define-syntax libexec (identifier-syntax (libexec%)))
+(export libexec)
+
+(define (data-directory%)
+ (path-append
+ (or (getenv "XDG_DATA_HOME")
+ (path-append (get-config 'path-prefix) "/share"))
+ "/calp"))
+
+(define-syntax data-directory (identifier-syntax (data-directory%)))
+(export data-directory)
+