diff options
author | David Thompson <dthompson2@worcester.edu> | 2015-11-01 18:34:53 -0500 |
---|---|---|
committer | David Thompson <dthompson2@worcester.edu> | 2015-11-02 08:30:54 -0500 |
commit | 7241c2fae6a5c4c47432443fc3bff697f4617be3 (patch) | |
tree | 1ae7da36aa834ad8294561c327d7725fc04fbd16 | |
parent | 69b96e5eee36dd2f15790c6022a5c162e3206291 (diff) | |
download | guix-7241c2fae6a5c4c47432443fc3bff697f4617be3.tar 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.
-rw-r--r-- | guix/scripts/environment.scm | 12 |
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 |