mirror of
https://github.com/apple/pkl.git
synced 2026-08-27 14:14:02 +02:00
Use XDG base directories and Known Folders on Windows (#1809)
This changes logic that previously read/wrote from `~/.pkl` to use XDG base directories (all OSes), and Known Folders locations on Windows. For example, Pkl will look for `settings.pkl` in: 1. `$XDG_CONFIG_HOME/pkl/settings.pkl` 2. `%APPDATA/pkl/settings.pkl` 3. `~/.pkl/settings.pkl` 4. Path pkl/settings/pkl within `$XDG_CONFIG_DIRS` 5. `/etc/xdg/pkl/settings.pkl` --------- Co-authored-by: Florin Ungur <florin@florinungur.com>
This commit is contained in:
co-authored by
Florin Ungur
parent
4dd37219c0
commit
6551a59f9e
@@ -1377,14 +1377,24 @@ it works as follows:
|
||||
The Pkl settings file allows to customize the CLI experience.
|
||||
|
||||
A settings file is a Pkl module amending the `pkl.settings` standard library module.
|
||||
Its default location is `~/.pkl/settings.pkl`.
|
||||
|
||||
Unless configured explicitly, Pkl will look in the following locations:
|
||||
|
||||
. `$XDG_CONFIG_HOME/pkl/settings.pkl`
|
||||
. `%APPDATA%/pkl/settings.pkl` (on Windows only)
|
||||
. `~/.config/pkl/settings.pkl`
|
||||
. Subdirectory `pkl/settings.pkl` within one of the paths described by `$XDG_CONFIG_DIRS`
|
||||
. `/etc/xdg/pkl/settings.pkl`
|
||||
. `~/.pkl/settings.pkl` (legacy location used by Pkl 0.32 and lower)
|
||||
|
||||
To use a different settings file, set the `--settings` command line option, for example `--settings mysettings.pkl`.
|
||||
To enforce default settings, use `--settings pkl:settings`.
|
||||
|
||||
The settings file is also honored by (and configurable through) the Gradle plugin and `CliEvaluator` API.
|
||||
|
||||
Here is a typical settings file:
|
||||
|
||||
.~/.pkl/settings.pkl
|
||||
.~/.config/pkl/settings.pkl
|
||||
[source%parsed,{pkl}]
|
||||
----
|
||||
amends "pkl:settings" // <1>
|
||||
@@ -1406,10 +1416,19 @@ When making TLS requests, Pkl comes with its own set of {uri-certificates}[CA ce
|
||||
These certificates can be overridden via either of the two options:
|
||||
|
||||
- Set them directly via the CLI option `--ca-certificates <path>`.
|
||||
- Add them to a directory at path `~/.pkl/cacerts/`.
|
||||
- Add them to a user directory.
|
||||
|
||||
If CA certificates are not explicitly configured, Pkl will look in the following locations:
|
||||
|
||||
. `$XDG_CONFIG_HOME/pkl/cacerts`
|
||||
. `%APPDATA%/pkl/cacerts` (on Windows only)
|
||||
. `~/.config/pkl/cacerts`
|
||||
. Subdirectory `pkl/cacerts` within one of the paths described by `$XDG_CONFIG_DIRS`
|
||||
. `/etc/xdg/pkl/cacerts`
|
||||
. `~/.pkl/cacerts` (legacy location used by Pkl 0.32 and lower)
|
||||
|
||||
Both these options will *replace* the default CA certificates bundled with Pkl. +
|
||||
The CLI option takes precedence over the certificates in `~/.pkl/cacerts/`. +
|
||||
The CLI option takes precedence over the certificates in the cacerts directory. +
|
||||
Certificates need to be X.509 certificates in PEM format.
|
||||
|
||||
[[http-proxy]]
|
||||
|
||||
Reference in New Issue
Block a user