.. _config: Configuration ============= | .. include:: _include/config_intro.rst The `edit` command makes it easy to open the correct configuration file path for your platform using the default editor. Set the ``EDITOR`` environment variable (or ``VISUAL`` on `Windows`). .. admonition:: Open global user-level configuration file for editing :class: note .. code-block:: shell hs config edit --user ------ Filesystem Paths ---------------- | The `site` refers to the locations on the file system from which configuration files are found and output files are written to. This entails a `library` (or `lib`) path for where to capture outputs; a `log` path for where to write logs and exceptions; and a `config` file path. There are two environment variables that play a role in modifying this behavior. .. include:: _include/config_site_vars.rst The paths to these locations is platform specific. On `Windows` and `macOS`, the program abides by the conventions of that platform, just as on `Linux` (otherwise assumed `POSIX`). Below we have enumerated all variations with `Library`, `Logs`, and `Config` in each case. | **Windows** **System** - ``%PROGRAMDATA%\HyperShell\Library`` - ``%PROGRAMDATA%\HyperShell\Logs`` - ``%PROGRAMDATA%\HyperShell\Config.toml`` **User** - ``%APPDATA%\HyperShell\Library`` - ``%APPDATA%\HyperShell\Logs`` - ``%APPDATA%\HyperShell\Config.toml`` **Local** - ``%HYPERSHELL_SITE%\Library`` - ``%HYPERSHELL_SITE%\Logs`` - ``%HYPERSHELL_SITE%\Config.toml`` | **macOS** **System** - ``/Library/HyperShell`` - ``/Library/HyperShell/Logs`` - ``/Library/Preferences/HyperShell/config.toml`` **User** - ``$HOME/Library/HyperShell`` - ``$HOME/Library/HyperShell/Logs`` - ``$HOME/Library/Preferences/HyperShell/config.toml`` **Local** - ``$HYPERSHELL_SITE/Library`` - ``$HYPERSHELL_SITE/Logs`` - ``$HYPERSHELL_SITE/config.toml`` | **Linux / POSIX** **System** - ``/var/lib/hypershell`` - ``/var/log/hypershell`` - ``/etc/hypershell.toml`` **User** - ``$HOME/.hypershell/lib`` - ``$HOME/.hypershell/log`` - ``$HOME/.hypershell/config.toml`` **Local** - ``$HYPERSHELL_SITE/lib`` - ``$HYPERSHELL_SITE/log`` - ``$HYPERSHELL_SITE/config.toml`` | ------ Parameter Reference ------------------- | .. include:: _include/config_param_ref.rst ------ Task Environment ---------------- | .. include:: _include/config_task_env.rst |