Variable: ghostel-shell

ghostel-shell is a customizable variable defined in ghostel.el.

Value

"/nix/store/10dxp0qxqxxsyiljrh2kp0xqhz6arhcx-bash-5.3p15/bin/bash"

Documentation

Shell program to run in the terminal.

Either a string (just the executable path) or a list whose first element is the executable path and whose remaining elements are arguments passed to that executable. For example:

  (setq ghostel-shell '("/bin/zsh" "--login"))

For bash, list long options (e.g. --rcfile) before single-character ones (e.g. -i); bash rejects long options that follow short ones.

On macOS, ghostel additionally wraps the shell via login(1) by default so the shell starts as a login shell (matching Apple's Terminal.app and Ghostty), which sources ~/.zprofile /
~/.bash_profile as users expect. See ghostel-macos-login-shell.

Source Code

;; Defined in /nix/store/1252krff0gb2kisjcpp45m50cpdskfrl-emacs-packages-deps/share/emacs/site-lisp/ghostel.el
(defcustom ghostel-shell
  ;; Read past any buffer-local `process-environment' (e.g. envrc, buffer-env)
  (or (let ((process-environment (default-value 'process-environment)))
        (getenv "SHELL"))
      "/bin/sh")
  "Shell program to run in the terminal.

Either a string (just the executable path) or a list whose first
element is the executable path and whose remaining elements are
arguments passed to that executable.  For example:

  (setq ghostel-shell \\='(\"/bin/zsh\" \"--login\"))

For bash, list long options (e.g. `--rcfile') before single-character
ones (e.g. `-i'); bash rejects long options that follow short ones.

On macOS, ghostel additionally wraps the shell via `login(1)' by
default so the shell starts as a login shell (matching Apple's
Terminal.app and Ghostty), which sources `~/.zprofile' /
`~/.bash_profile' as users expect.  See `ghostel-macos-login-shell'."
  :type '(choice (string :tag "Executable path")
                 (repeat :tag "Executable + arguments" string)))