aboutsummaryrefslogtreecommitdiff
path: root/guix/scripts/environment.scm
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2015-11-01 18:34:53 -0500
committerDavid Thompson <dthompson2@worcester.edu>2015-11-02 08:30:54 -0500
commit7241c2fae6a5c4c47432443fc3bff697f4617be3 (patch)
tree1ae7da36aa834ad8294561c327d7725fc04fbd16 /guix/scripts/environment.scm
parent69b96e5eee36dd2f15790c6022a5c162e3206291 (diff)
downloadgnu-guix-7241c2fae6a5c4c47432443fc3bff697f4617be3.tar
gnu-guix-7241c2fae6a5c4c47432443fc3bff697f4617be3.tar.gz
scripts: environment: Ignore user shell when spawning container.
* guix/scripts/environment.scm (%default-options): Remove 'exec' association. (guix-environment): If the user didn't specify a command, use the default shell, or use /bin/sh when a container is requested.
Diffstat (limited to 'guix/scripts/environment.scm')
-rw-r--r--guix/scripts/environment.scm12
1 files changed, 9 insertions, 3 deletions
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index f9ab9a483f..45b54a9297 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -160,8 +160,7 @@ COMMAND or an interactive shell in that environment.\n"))
(define %default-options
;; Default to opening a new shell.
- `((exec . (,%default-shell))
- (system . ,(%current-system))
+ `((system . ,(%current-system))
(substitutes? . #t)
(max-silent-time . 3600)
(verbosity . 0)))
@@ -447,7 +446,14 @@ Otherwise, return the derivation for the Bash package."
(network? (assoc-ref opts 'network?))
(bootstrap? (assoc-ref opts 'bootstrap?))
(system (assoc-ref opts 'system))
- (command (assoc-ref opts 'exec))
+ (command (or (assoc-ref opts 'exec)
+ ;; Spawn a shell if the user didn't specify
+ ;; anything in particular.
+ (if container?
+ ;; The user's shell is likely not available
+ ;; within the container.
+ '("/bin/sh")
+ (list %default-shell))))
(packages (options/resolve-packages opts))
(mappings (pick-all opts 'file-system-mapping))
(inputs (delete-duplicates