Variable: ghostel-tramp-shells
ghostel-tramp-shells is a customizable variable defined in
ghostel-shell.el.
Value
(("ssh" login-shell) ("sshx" login-shell) ("scp" login-shell)
("docker" "/bin/sh"))
Documentation
Shell to use for remote TRAMP connections, per method.
Each entry is (TRAMP-METHOD SHELL [FALLBACK [ARG...]]). TRAMP-METHOD is a method string such as "ssh" or "docker", or t as a catch-all default.
SHELL is either a path string like "/bin/bash" or the symbol login-shell
to auto-detect the remote user's login shell via getent passwd.
FALLBACK, when present, is used when login-shell detection fails.
Any elements after FALLBACK are extra arguments passed to the shell.
When none are given, ghostel supplies a type-aware default: recognized shells
(bash, zsh, fish, nushell) are started as login+interactive shells (-l -i)
so they source the user's rc/profile files, mirroring an interactive ssh host
login. Unrecognized shells (e.g. /bin/sh) get no args.
To override, list the arguments explicitly after FALLBACK,
e.g. ("ssh" login-shell nil "-i").
For bash, list long options (e.g. --rcfile) before single-character
ones (e.g. -i); bash rejects long options that follow short ones.
Source Code
;; Defined in /nix/store/1252krff0gb2kisjcpp45m50cpdskfrl-emacs-packages-deps/share/emacs/site-lisp/ghostel-shell.el
(defcustom ghostel-tramp-shells
'(("ssh" login-shell)
("sshx" login-shell)
("scp" login-shell)
("docker" "/bin/sh"))
"Shell to use for remote TRAMP connections, per method.
Each entry is (TRAMP-METHOD SHELL [FALLBACK [ARG...]]). TRAMP-METHOD is a
method string such as \"ssh\" or \"docker\", or t as a catch-all default.
SHELL is either a path string like \"/bin/bash\" or the symbol `login-shell'
to auto-detect the remote user's login shell via `getent passwd'.
FALLBACK, when present, is used when login-shell detection fails.
Any elements after FALLBACK are extra arguments passed to the shell.
When none are given, ghostel supplies a type-aware default: recognized shells
\(bash, zsh, fish, nushell) are started as login+interactive shells (`-l -i')
so they source the user's rc/profile files, mirroring an interactive `ssh host'
login. Unrecognized shells (e.g. /bin/sh) get no args.
To override, list the arguments explicitly after FALLBACK,
e.g. (\"ssh\" login-shell nil \"-i\").
For bash, list long options (e.g. `--rcfile') before single-character
ones (e.g. `-i'); bash rejects long options that follow short ones."
:type '(alist :key-type (choice string (const t))
:value-type
(list (choice :tag "Shell" string (const login-shell))
(choice :tag "Fallback" (const :tag "None" nil) string)
(repeat :inline t :tag "Extra arguments" string)))
:group 'ghostel)