ws1.wugi.info.scm 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. ;; GuixSD configuration file for the desktop machine.
  2. ;; Copyright © 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
  3. ;; Released under the GNU GPLv3 or any later version.
  4. (use-modules (srfi srfi-1)
  5. (srfi srfi-26)
  6. ((guix ui) #:select (make-user-module))
  7. (guix profiles))
  8. ;; The composite module that combines everything from the public modules.
  9. ;; Origin <https://lists.gnu.org/archive/html/help-guix/2018-10/msg00040.html>.
  10. (define %source-dir (dirname (current-filename)))
  11. (define (load-manifest file)
  12. ;; Load manifest file in a fresh module with necessary imports.
  13. (let ((module (make-user-module '((guix profiles) (gnu)))))
  14. (save-module-excursion
  15. (lambda _
  16. (set-current-module module)
  17. (load (canonicalize-path file))))))
  18. (define (combined-manifest-from-files files)
  19. (fold (lambda (file combined)
  20. (manifest-add combined
  21. (manifest-entries (load-manifest file))))
  22. (manifest '())
  23. files))
  24. (combined-manifest-from-files
  25. (map (cut string-append %source-dir "/" <>)
  26. '("emacs.scm" "guix-collection.scm" "wigust.scm" ;; "majordomo.scm"
  27. )))