(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
sample useage:
$ cd project
$ guix package --manifest=manifest.scm --profile=.guix-profile
$ guix shell # --profile=.guix-profile is implicit
do some stuff. realize that you want to bring in another package.
$ guix install --profile=.guix-profile additional-package
Then additional package is instantly available. This is especially useful to lisp programmers because, currently, bringing in an additional library involves restarting shell, lisp process, reloading source files, regenerating process state.
From 47c4c6f9896c2b4b884ff11063d33f5458cbecf7 Mon Sep 17 00:00:00 2001
From: Charles <charles.b.jackson@protonmail.com>
Date: Sun, 13 Mar 2022 12:58:25 -0500
Subject: [PATCH 2/2] guix: shell: Implicitly use a .guix-profile as --profile
option.
* guix/scripts/shell.scm (auto-detect-manifest): Add ".guix-profile" to
matches as --profile option
---
guix/scripts/shell.scm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Toggle diff (30 lines)
diff --git a/guix/scripts/shell.scm b/guix/scripts/shell.scm
index 1eab05d737..fca41cc2d4 100644
--- a/guix/scripts/shell.scm
+++ b/guix/scripts/shell.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021-2022 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2022 Charles Jackson <charles.b.jackson@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -256,7 +257,7 @@ (define disallow-implicit-load?
disallow-implicit-load?
(options-contain-payload? opts))
opts
- (match (find-file-in-parent-directories '("manifest.scm" "guix.scm"))
+ (match (find-file-in-parent-directories '(".guix-profile" "manifest.scm" "guix.scm"))
(#f
(warning (G_ "no packages specified; creating an empty environment~%"))
opts)
@@ -265,6 +266,7 @@ (define disallow-implicit-load?
(begin
(info (G_ "loading environment from '~a'...~%") file)
(match (basename file)
+ (".guix-profile" (alist-cons 'profile file opts))
("guix.scm" (alist-cons 'load `(package ,file) opts))
("manifest.scm" (alist-cons 'manifest file opts))))
(begin
--
2.34.0