From e17f6fb2dcdbc147cfdb4a55639ad784a927f2a6 Mon Sep 17 00:00:00 2001 From: David Adam Date: Wed, 25 Mar 2015 16:46:53 +0800 Subject: document evaluation of /etc/profile.d/*.fish, introduced in 20a6b65 Work on #1956. --- doc_src/index.hdr.in | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'doc_src') diff --git a/doc_src/index.hdr.in b/doc_src/index.hdr.in index e9e3ba19..cb6e3f71 100644 --- a/doc_src/index.hdr.in +++ b/doc_src/index.hdr.in @@ -1014,9 +1014,14 @@ Note that functions cannot be started in the background. Functions that are stop \section initialization Initialization files -On startup, `fish` evaluates the files `/usr/share/fish/config.fish` (Or `/usr/local/fish...` if you installed fish in `/usr/local`), `/etc/fish/config.fish` (Or `~/etc/fish/...` if you installed fish in your home directory) and `~/.config/fish/config.fish` (Or any other directory specified by the `$XDG_CONFIG_HOME` variable), in that order. +On startup, `fish` evaluates the files listed below, in order. Some of the exact paths may be different depending on how fish has been installed. -The first file should not be directly edited, the second one is meant for systemwide configuration and the last one is meant for user configuration. If you want to run a command only on starting an interactive shell, use the exit status of the command `status --is-interactive` to determine if the shell is interactive. If you want to run a command only when using a login shell, use `status --is-login` instead. +- `/usr/share/fish/config.fish`, which sets up the default behaviour of `fish`. Editing this file is discouraged. +- `/etc/profile.d/*.fish` - all files matching this pattern are evaluated. Third-party packages should install snippets as separate files in this directory. +- `/etc/fish/config.fish`, which contains system-wide configuration. +- `$XDG_CONFIG_HOME/fish/config.fish` (usually `~/.config/fish/config.fish`), which contains configuration specific to your user account. + +If you want to run a command only on starting an interactive shell, use the exit status of the command `status --is-interactive` to determine if the shell is interactive. If you want to run a command only when using a login shell, use `status --is-login` instead. Examples: -- cgit v1.2.3