diff options
Diffstat (limited to 'src/paths.scm')
| -rw-r--r-- | src/paths.scm | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/paths.scm b/src/paths.scm new file mode 100644 index 0000000..50bd622 --- /dev/null +++ b/src/paths.scm @@ -0,0 +1,17 @@ +;;; paths.scm -- Functions which work with/on paths +(declare (unit paths)) + +(define (stored-file xdg-env file) + (let ((xdg (get-environment-variable xdg-env)) + (stored-file (string-append (get-environment-variable "HOME") "/.linkwave/" file))) + (unless (or (file-exists? stored-file) (not xdg)) + (set! stored-file (string-append xdg "/linkwave/" file))) + stored-file)) + +(: config-file (string -> string)) +(define (config-file file) + (stored-file "XDG_CONFIG_HOME" file)) + +(: data-file (string -> string)) +(define (data-file file) + (stored-file "XDG_DATA_HOME" file)) |
