Skip to content

The stack config commands

stack config COMMAND

Available commands:
  env                      Print environment variables for use in a shell
  set                      Sets a key in YAML configuration file to value

The stack config commands provide assistance with accessing or modifying Stack's configuration. See stack config for the available commands.

The stack config env command

stack config env [--[no-]locals] [--[no-]ghc-package-path] [--[no-]stack-exe]
                 [--[no-]locale-utf8] [--[no-]keep-ghc-rts]

stack config env outputs a script that sets or unsets environment variables for a Stack environment. Flags modify the script that is output:

  • --[no-]locals (enabled by default) include/exclude project package information
  • --[no-]ghc-package-path (enabled by default) set GHC_PACKAGE_PATH environment variable or not
  • --[no-]stack-exe (enabled by default) set STACK_EXE environment variable or not
  • --[no-]locale-utf8 (disabled by default) set the GHC_CHARENC environment variable to UTF-8 or not
  • --[no-]keep-ghc-rts (disabled by default) keep/discard any GHCRTS environment variable

The command also accepts flags and options of the stack build command that affect the location of the local project installation directory, such as --profile and --no-strip. For further information, see the documentation of the project Stack work directory.

The stack config set commands

stack config set COMMAND

Available commands:
  install-ghc              Configure whether or not Stack should automatically
                           install GHC when necessary.
  package-index            Configure Stack's package index
  recommend-stack-upgrade  Configure whether or not Stack should notify the user
                           if it identifes a new version of Stack is available.
  resolver                 Change the snapshot of the current project, using the
                           resolver key.
  snapshot                 Change the snapshot of the current project.
  system-ghc               Configure whether or not Stack should use a system
                           GHC installation.

The stack config set commands allow the values of keys in YAML configuration files to be set. See stack config set for the available keys.

Note

The config set commands support an existing key only in the form key: value on a single line.

The stack config set install-ghc command

stack config set install-ghc [--global] true|false

stack config set install-ghc true or false sets the install-ghc key in a YAML configuration file, accordingly. By default, the project-level configuration file (stack.yaml, by default) is altered. The --global flag specifies the user-specific global configuration file (config.yaml).

The stack config set package-index download-prefix command

2.9.3

stack config set package-index download-prefix [--global] [URL]

stack config set package-index download-prefix <url> sets the download-prefix key of the package-index key in a YAML configuration file, accordingly. By default, the project-level configuration file (stack.yaml, by default) is altered. The --global flag specifies the user-specific global configuration file (config.yaml).

The stack config set recommend-stack-upgrade command

stack config set recommend-stack-upgrade [--project] true|false

stack config set recommend-stack-upgrade true or false sets the recommend-stack-upgrade key in a YAML configuration file, accordingly. By default, the user-specific global configuration file (config.yaml) is altered. The --project flag specifies the project-level configuration file (stack.yaml, by default).

The stack config set resolver command

stack config set resolver SNAPSHOT

A command corresponding to the stack config set snapshot command but using the resolver key instead of the snapshot key.

The stack config set snapshot command

2.15.1

stack config set snapshot SNAPSHOT

stack config set snapshot <snapshot> sets the snapshot key in the project-level configuration file (stack.yaml, by default) to the specified snapshot.

A snapshot of lts or nightly will be translated into the most recent available. A snapshot of lts-22 will be translated into the most recent available in the lts-22 sequence.

If a resolver key is present, it will be replaced by a snapshot key.

The stack config set system-ghc command

stack config set system-ghc [--global] true|false

stack config set system-ghc true or false sets the system-ghc key in a YAML configuration file, accordingly. By default, the project-level configuration file (stack.yaml, by default) is altered. The --global flag specifies the user-specific global configuration file (config.yaml).