forked from lix-project/lix
Merge pull request #6525 from J-Swift/feature/bash-prefix
Add `bash-prompt-prefix` option
This commit is contained in:
commit
bf89cd95a4
4 changed files with 13 additions and 6 deletions
|
@ -31,7 +31,7 @@ static void writeTrustedList(const TrustedList & trustedList)
|
|||
|
||||
void ConfigFile::apply()
|
||||
{
|
||||
std::set<std::string> whitelist{"bash-prompt", "bash-prompt-suffix", "flake-registry"};
|
||||
std::set<std::string> whitelist{"bash-prompt", "bash-prompt-prefix", "bash-prompt-suffix", "flake-registry"};
|
||||
|
||||
for (auto & [name, value] : settings) {
|
||||
|
||||
|
|
|
@ -18,6 +18,9 @@ struct DevelopSettings : Config
|
|||
Setting<std::string> bashPrompt{this, "", "bash-prompt",
|
||||
"The bash prompt (`PS1`) in `nix develop` shells."};
|
||||
|
||||
Setting<std::string> bashPromptPrefix{this, "", "bash-prompt-prefix",
|
||||
"Prefix prepended to the `PS1` environment variable in `nix develop` shells."};
|
||||
|
||||
Setting<std::string> bashPromptSuffix{this, "", "bash-prompt-suffix",
|
||||
"Suffix appended to the `PS1` environment variable in `nix develop` shells."};
|
||||
};
|
||||
|
@ -482,6 +485,9 @@ struct CmdDevelop : Common, MixEnvironment
|
|||
if (developSettings.bashPrompt != "")
|
||||
script += fmt("[ -n \"$PS1\" ] && PS1=%s;\n",
|
||||
shellEscape(developSettings.bashPrompt.get()));
|
||||
if (developSettings.bashPromptPrefix != "")
|
||||
script += fmt("[ -n \"$PS1\" ] && PS1=%s\"$PS1\";\n",
|
||||
shellEscape(developSettings.bashPromptPrefix.get()));
|
||||
if (developSettings.bashPromptSuffix != "")
|
||||
script += fmt("[ -n \"$PS1\" ] && PS1+=%s;\n",
|
||||
shellEscape(developSettings.bashPromptSuffix.get()));
|
||||
|
|
|
@ -80,8 +80,8 @@ initialised by `stdenv` and exits. This build environment can be
|
|||
recorded into a profile using `--profile`.
|
||||
|
||||
The prompt used by the `bash` shell can be customised by setting the
|
||||
`bash-prompt` and `bash-prompt-suffix` settings in `nix.conf` or in
|
||||
the flake's `nixConfig` attribute.
|
||||
`bash-prompt`, `bash-prompt-prefix`, and `bash-prompt-suffix` settings in
|
||||
`nix.conf` or in the flake's `nixConfig` attribute.
|
||||
|
||||
# Flake output attributes
|
||||
|
||||
|
|
|
@ -331,9 +331,10 @@ The following attributes are supported in `flake.nix`:
|
|||
|
||||
* `nixConfig`: a set of `nix.conf` options to be set when evaluating any
|
||||
part of a flake. In the interests of security, only a small set of
|
||||
whitelisted options (currently `bash-prompt`, `bash-prompt-suffix`,
|
||||
and `flake-registry`) are allowed to be set without confirmation so long as
|
||||
`accept-flake-config` is not set in the global configuration.
|
||||
whitelisted options (currently `bash-prompt`, `bash-prompt-prefix`,
|
||||
`bash-prompt-suffix`, and `flake-registry`) are allowed to be set without
|
||||
confirmation so long as `accept-flake-config` is not set in the global
|
||||
configuration.
|
||||
|
||||
## Flake inputs
|
||||
|
||||
|
|
Loading…
Reference in a new issue