diff --git a/README.md b/README.md
index 7848d65..a75b6bd 100644
--- a/README.md
+++ b/README.md
@@ -1395,7 +1395,6 @@ $ just
The process ID is: 420
```
-
#### String Manipulation
- `append(suffix, s)`master Append `suffix` to whitespace-separated
@@ -2514,7 +2513,21 @@ $ just --show polyglot
polyglot: python js perl sh ruby
```
-Run `just --help` to see all the options.
+Some command-line options can be set with environment variables. For example:
+
+```sh
+$ export JUST_UNSTABLE=1
+$ just
+```
+
+Is equivalent to:
+
+```sh
+$ just --unstable
+```
+
+Consult `just --help` to see which options can be set from environment
+variables.
### Private Recipes
diff --git a/src/config.rs b/src/config.rs
index e47fe7f..53b76aa 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -176,6 +176,7 @@ impl Config {
.arg(
Arg::new(arg::COLOR)
.long("color")
+ .env("JUST_COLOR")
.action(ArgAction::Set)
.value_parser(PossibleValuesParser::new(arg::COLOR_VALUES))
.default_value(arg::COLOR_AUTO)
@@ -184,6 +185,7 @@ impl Config {
.arg(
Arg::new(arg::COMMAND_COLOR)
.long("command-color")
+ .env("JUST_COMMAND_COLOR")
.action(ArgAction::Set)
.value_parser(PossibleValuesParser::new(arg::COMMAND_COLOR_VALUES))
.help("Echo recipe lines in "),
@@ -193,6 +195,7 @@ impl Config {
Arg::new(arg::DRY_RUN)
.short('n')
.long("dry-run")
+ .env("JUST_DRY_RUN")
.action(ArgAction::SetTrue)
.help("Print what just would do without doing it")
.conflicts_with(arg::QUIET),
@@ -257,6 +260,7 @@ impl Config {
Arg::new(arg::JUSTFILE)
.short('f')
.long("justfile")
+ .env("JUST_JUSTFILE")
.action(ArgAction::Set)
.value_parser(value_parser!(PathBuf))
.help("Use as justfile"),
@@ -265,6 +269,7 @@ impl Config {
Arg::new(arg::QUIET)
.short('q')
.long("quiet")
+ .env("JUST_QUIET")
.action(ArgAction::SetTrue)
.help("Suppress all output")
.conflicts_with(arg::DRY_RUN),
@@ -324,6 +329,7 @@ impl Config {
Arg::new(arg::VERBOSE)
.short('v')
.long("verbose")
+ .env("JUST_VERBOSE")
.action(ArgAction::Count)
.help("Use verbose output"),
)
@@ -331,6 +337,7 @@ impl Config {
Arg::new(arg::WORKING_DIRECTORY)
.short('d')
.long("working-directory")
+ .env("JUST_WORKING_DIRECTORY")
.action(ArgAction::Set)
.value_parser(value_parser!(PathBuf))
.help("Use as working directory. --justfile must also be set")