(import (guix packages) (guix inferior) (guix store) (guix profiles) (ice-9 match) (statprof)) (pk 'current-guix) (define current-guix (let* ((default-guix (format #false "~a/.config/guix/current" (getenv "HOME"))) (current-guix-inferior #false)) (lambda () (or current-guix-inferior (begin (set! current-guix-inferior (open-inferior (canonicalize-path default-guix))) current-guix-inferior))))) (pk 'inferior-store) (define inferior-store (let ((connection #false)) (lambda () (or connection (begin (set! connection (open-connection)) connection))))) (pk 'inferior-store) (define (lookup-package specification) (match (lookup-inferior-packages (current-guix) specification) ((first . rest) first) (x (error "oops" x)))) (define specs (list "bash-minimal" "r-minimal" "r-ggplot2" "r-ggrepel" "r-deseq2" "r-dt" "r-pheatmap" "r-corrplot" "r-reshape2" "r-plotly" "r-scales" "r-crosstalk" "r-gprofiler" "r-rtracklayer" "r-summarizedexperiment")) (pk 'packages) (define packages (map lookup-package specs)) (pk 'packages->manifest) (statprof (lambda () (packages->manifest packages))) (pk 'packages->manifest-done)