diff options
-rw-r--r-- | config/guix/.gitignore | 1 | ||||
-rw-r--r-- | config/guix/shell-authorized-directories | 21 | ||||
-rw-r--r-- | config/guix/shell-authorized-directories.template | 4 | ||||
-rw-r--r-- | kbg/services/config/guix.scm | 28 |
4 files changed, 26 insertions, 28 deletions
diff --git a/config/guix/.gitignore b/config/guix/.gitignore new file mode 100644 index 00000000..9ec7d669 --- /dev/null +++ b/config/guix/.gitignore @@ -0,0 +1 @@ +shell-authorized-directories diff --git a/config/guix/shell-authorized-directories b/config/guix/shell-authorized-directories deleted file mode 100644 index b13bda01..00000000 --- a/config/guix/shell-authorized-directories +++ /dev/null @@ -1,21 +0,0 @@ -/home/kb/.ledger -/home/kb/.org -/home/kb/workspace/src/io/devnulllabs/kb/dotfiles -/home/kb/workspace/src/io/devnulllabs/kb/guix-channel -/home/kb/workspace/src/io/devnulllabs/kb/git-in-reverse -/home/kb/workspace/src/io/devnulllabs/kb/intro-graphs -/home/kb/workspace/src/io/devnulllabs/kb/intro-static-analysis -/home/kb/workspace/src/io/devnulllabs/kb/resume -/home/kb/workspace/src/edu/boisestate/classes/m596 -/home/kb/workspace/src/edu/boisestate/kb -/home/kb/workspace/src/edu/boisestate/sb -/home/kb/workspace/src/edu/boisestate/cs/abse -/home/kb/workspace/src/edu/boisestate/cs/DFA_SMT -/home/kb/workspace/src/edu/boisestate/cs/sbst-coverage -/home/kb/workspace/src/edu/boisestate/cs/thqs -/home/kb/workspace/src/edu/boisestate/cs/thesis-dissertation-template -/home/kb/workspace/src/edu/unl/cse/paclab-transformer -/home/kb/workspace/src/gov/nasa/jpf-core -/home/kb/workspace/src/gov/nasa/jpf-symbc -/home/kb/workspace/src/org/gnu/guix -/home/kb/workspace/src/org/evosuite/evosuite diff --git a/config/guix/shell-authorized-directories.template b/config/guix/shell-authorized-directories.template new file mode 100644 index 00000000..8955628b --- /dev/null +++ b/config/guix/shell-authorized-directories.template @@ -0,0 +1,4 @@ +/home/kb/.org +/home/kb/workspace/src/io/devnulllabs/kb/dotfiles +/home/kb/workspace/src/io/devnulllabs/kb/guix-channel +/home/kb/workspace/src/org/gnu/guix diff --git a/kbg/services/config/guix.scm b/kbg/services/config/guix.scm index a89f0755..a63377b6 100644 --- a/kbg/services/config/guix.scm +++ b/kbg/services/config/guix.scm @@ -2,12 +2,26 @@ #:use-module (kbg) #:use-module (gnu) #:use-module (guix) - #:use-module (gnu home services)) + #:use-module (gnu home services) + #:use-module (ice-9 textual-ports)) (define-public guix-config-service - (list (simple-service 'guix-config - home-files-service-type - `((".config/guix/channels.scm" - ,(local-file (string-append %dotfiles-root "config/guix/channels.scm"))) - (".config/guix/shell-authorized-directories" - ,(local-file (string-append %dotfiles-root "config/guix/shell-authorized-directories"))))))) + (let ((shell-auth-dirs (string-append %dotfiles-root "config/guix/shell-authorized-directories")) + (shell-auth-dirs-template (string-append %dotfiles-root "config/guix/shell-authorized-directories.template"))) + (list (simple-service 'guix-config + home-files-service-type + `((".config/guix/channels.scm" + ,(local-file (string-append %dotfiles-root "config/guix/channels.scm"))) + (".config/guix/shell-authorized-directories" + ,(plain-file "kb-shell-authorized-directories" + (string-join (list (call-with-input-file shell-auth-dirs-template get-string-all) + (if (file-exists? shell-auth-dirs) + (call-with-input-file shell-auth-dirs get-string-all) + "")) + "\n")) + ) + ) + ) + ) + ) + ) |