diff --git a/docs/features/advanced_tasks.md b/docs/features/advanced_tasks.md index af4c6fff4..e35dd9f68 100644 --- a/docs/features/advanced_tasks.md +++ b/docs/features/advanced_tasks.md @@ -212,6 +212,8 @@ This setting can also be set from the command line with `pixi run --clean-env TA On Windows it's hard to create a "clean environment" as `conda-forge` doesn't ship Windows compilers and Windows needs a lot of base variables. Making this feature not worthy of implementing as the amount of edge cases will make it unusable. + + ## Our task runner: deno_task_shell To support the different OS's (Windows, OSX and Linux), pixi integrates a shell that can run on all of them. diff --git a/docs/features/global_tools.md b/docs/features/global_tools.md index e3e33a278..5bd279781 100644 --- a/docs/features/global_tools.md +++ b/docs/features/global_tools.md @@ -93,22 +93,22 @@ The manifest can be found at the following locations depending on your operating | **Priority** | **Location** | **Comments** | |--------------|------------------------------------------------------------------------|------------------------------------------------------------------------------------| - | 1 | `$HOME/.pixi/manifests/pixi-global.toml` | User-specific manifest | | 2 | `$PIXI_HOME/manifests/pixi-global.toml` | Global manifest in the user home directory. `PIXI_HOME` defaults to `~/.pixi` | + | 1 | `$HOME/.pixi/manifests/pixi-global.toml` | User-specific manifest | === "macOS" | **Priority** | **Location** | **Comments** | |--------------|------------------------------------------------------------------------|------------------------------------------------------------------------------------| - | 1 | `$HOME/.pixi/manifests/pixi-global.toml` | User-specific manifest | | 2 | `$PIXI_HOME/manifests/pixi-global.toml` | Global manifest in the user home directory. `PIXI_HOME` defaults to `~/.pixi` | + | 1 | `$HOME/.pixi/manifests/pixi-global.toml` | User-specific manifest | === "Windows" | **Priority** | **Location** | **Comments** | |--------------|------------------------------------------------------------------------|------------------------------------------------------------------------------------------------| - | 1 | `%USERPROFILE%\.pixi\manifests\pixi-global.toml` | User-specific manifest | | 2 | `$PIXI_HOME\manifests/pixi-global.toml` | Global manifest in the user home directory. `PIXI_HOME` defaults to `%USERPROFILE%/.pixi` | + | 1 | `%USERPROFILE%\.pixi\manifests\pixi-global.toml` | User-specific manifest | !!! note If multiple locations exist, the manifest with the highest priority will be used. diff --git a/docs/reference/pixi_configuration.md b/docs/reference/pixi_configuration.md index 7c73a536a..a56f74754 100644 --- a/docs/reference/pixi_configuration.md +++ b/docs/reference/pixi_configuration.md @@ -8,33 +8,33 @@ The configuration is loaded in the following order: | **Priority** | **Location** | **Comments** | |--------------|------------------------------------------------------------------------|------------------------------------------------------------------------------------| - | 1 | `/etc/pixi/config.toml` | System-wide configuration | - | 2 | `$XDG_CONFIG_HOME/pixi/config.toml` | XDG compliant user-specific configuration | - | 3 | `$HOME/.config/pixi/config.toml` | User-specific configuration | - | 4 | `$PIXI_HOME/config.toml` | Global configuration in the user home directory. `PIXI_HOME` defaults to `~/.pixi` | - | 5 | `your_project/.pixi/config.toml` | Project-specific configuration | | 6 | Command line arguments (`--tls-no-verify`, `--change-ps1=false`, etc.) | Configuration via command line arguments | + | 5 | `your_project/.pixi/config.toml` | Project-specific configuration | + | 4 | `$PIXI_HOME/config.toml` | Global configuration in the user home directory. `PIXI_HOME` defaults to `~/.pixi` | + | 3 | `$HOME/.config/pixi/config.toml` | User-specific configuration | + | 2 | `$XDG_CONFIG_HOME/pixi/config.toml` | XDG compliant user-specific configuration | + | 1 | `/etc/pixi/config.toml` | System-wide configuration | === "macOS" | **Priority** | **Location** | **Comments** | |--------------|------------------------------------------------------------------------|------------------------------------------------------------------------------------| - | 1 | `/etc/pixi/config.toml` | System-wide configuration | - | 2 | `$XDG_CONFIG_HOME/pixi/config.toml` | XDG compliant user-specific configuration | - | 3 | `$HOME/Library/Application Support/pixi/config.toml` | User-specific configuration | - | 4 | `$PIXI_HOME/config.toml` | Global configuration in the user home directory. `PIXI_HOME` defaults to `~/.pixi` | - | 5 | `your_project/.pixi/config.toml` | Project-specific configuration | | 6 | Command line arguments (`--tls-no-verify`, `--change-ps1=false`, etc.) | Configuration via command line arguments | + | 5 | `your_project/.pixi/config.toml` | Project-specific configuration | + | 4 | `$PIXI_HOME/config.toml` | Global configuration in the user home directory. `PIXI_HOME` defaults to `~/.pixi` | + | 3 | `$HOME/Library/Application Support/pixi/config.toml` | User-specific configuration | + | 2 | `$XDG_CONFIG_HOME/pixi/config.toml` | XDG compliant user-specific configuration | + | 1 | `/etc/pixi/config.toml` | System-wide configuration | === "Windows" | **Priority** | **Location** | **Comments** | |--------------|------------------------------------------------------------------------|------------------------------------------------------------------------------------------------| - | 1 | `C:\ProgramData\pixi\config.toml` | System-wide configuration | - | 2 | `%APPDATA%\pixi\config.toml` | User-specific configuration | - | 3 | `$PIXI_HOME\config.toml` | Global configuration in the user home directory. `PIXI_HOME` defaults to `%USERPROFILE%/.pixi` | - | 4 | `your_project\.pixi\config.toml` | Project-specific configuration | | 5 | Command line arguments (`--tls-no-verify`, `--change-ps1=false`, etc.) | Configuration via command line arguments | + | 4 | `your_project\.pixi\config.toml` | Project-specific configuration | + | 3 | `$PIXI_HOME\config.toml` | Global configuration in the user home directory. `PIXI_HOME` defaults to `%USERPROFILE%/.pixi` | + | 2 | `%APPDATA%\pixi\config.toml` | User-specific configuration | + | 1 | `C:\ProgramData\pixi\config.toml` | System-wide configuration | !!! note The highest priority wins. If a configuration file is found in a higher priority location, the values from the configuration read from lower priority locations are overwritten. diff --git a/docs/reference/project_configuration.md b/docs/reference/project_configuration.md index 4c6aa17a3..ff98878e3 100644 --- a/docs/reference/project_configuration.md +++ b/docs/reference/project_configuration.md @@ -1,20 +1,38 @@ --- part: pixi -title: Configuration -description: Learn what you can do in the pixi.toml configuration. +title: Manifest +description: Learn what you can do in the pixi manifest. --- -The `pixi.toml` is the pixi project configuration file, also known as the project manifest. +The `pixi.toml` is the project manifest, also known as the pixi project configuration file. A `toml` file is structured in different tables. This document will explain the usage of the different tables. -For more technical documentation check pixi on [crates.io](https://docs.rs/pixi/latest/pixi/project/manifest/struct.ProjectManifest.html). +For more technical documentation check pixi on [docs.rs](https://docs.rs/pixi/latest/pixi/project/manifest/struct.ProjectManifest.html). !!! tip We also support the `pyproject.toml` file. It has the same structure as the `pixi.toml` file. except that you need to prepend the tables with `tool.pixi` instead of just the table name. For example, the `[project]` table becomes `[tool.pixi.project]`. There are also some small extras that are available in the `pyproject.toml` file, checkout the [pyproject.toml](../advanced/pyproject_toml.md) documentation for more information. +## Manifest discovery + +The manifest can be found at the following locations depending on your operating system. + + +| **Priority** | **Location** | **Comments** | +|--------------|------------------------------------------------------------------------|------------------------------------------------------------------------------------| +| 6 | `--manifest-path` | Command-line argument | +| 5 | `pixi.toml` | In your current working directory. | +| 4 | `pyproject.toml` | In your current working directory. | +| 3 | `pixi.toml` or `pyproject.toml` | Iterate through all parent directories. The first discovered manifest is used. | +| 1 | `$PIXI_PROJECT_MANIFEST` | If `$PIXI_IN_SHELL` is set. This happens with `pixi shell` or `pixi run`. | + + +!!! note + If multiple locations exist, the manifest with the highest priority will be used. + + ## The `project` table The minimally required information in the `project` table is: