The Global Manifest#
This global manifest contains the list of environments that are installed globally, their dependencies and exposed binaries. It can be edited, synced, checked in to a version control system, and shared with others.
Running the commands from the section before results in the following manifest:
version = 1
[envs.rattler-build]
channels = ["conda-forge"]
dependencies = { rattler-build = "*" }
exposed = { rattler-build = "rattler-build" }
[envs.ipython]
channels = ["conda-forge"]
dependencies = { ipython = "*", numpy = "*", matplotlib = "*" }
exposed = { ipython = "ipython", ipython3 = "ipython3" }
[envs.python]
channels = ["conda-forge"]
dependencies = { python = "3.12.*" } # (1)!
exposed = { py3 = "python" } # (2)!
- Dependencies are the packages that will be installed in the environment. You can specify the version or use a wildcard.
- The exposed binaries are the ones that will be available in the system path. In this case,
python
is exposed under the namepy3
.
Manifest locations#
The manifest can be found at the following locations depending on your operating system.
Run pixi info
, to find the currently used manifest on your system.
Priority | Location | Comments |
---|---|---|
4 | $PIXI_HOME/manifests/pixi-global.toml |
Global manifest in PIXI_HOME . |
3 | $HOME/.pixi/manifests/pixi-global.toml |
Global manifest in user home directory. |
2 | $XDG_CONFIG_HOME/pixi/manifests/pixi-global.toml |
XDG compliant config directory. |
1 | $HOME/.config/pixi/manifests/pixi-global.toml |
Config directory. |
Priority | Location | Comments |
---|---|---|
3 | $PIXI_HOME/manifests/pixi-global.toml |
Global manifest in PIXI_HOME . |
2 | $HOME/.pixi/manifests/pixi-global.toml |
Global manifest in user home directory. |
1 | $HOME/Library/Application Support/pixi/manifests/pixi-global.toml |
Config directory. |
Priority | Location | Comments |
---|---|---|
3 | $PIXI_HOME\manifests/pixi-global.toml |
Global manifest in PIXI_HOME . |
2 | %USERPROFILE%\.pixi\manifests\pixi-global.toml |
Global manifest in user home directory. |
1 | %APPDATA%\pixi\manifests\pixi-global.toml |
Config directory. |
Note
If multiple locations exist, the manifest with the highest priority will be used.
Channels#
The channels
key describes the Conda channels that will be used to download the packages.
There is a priority to these, so the first one will have the highest priority.
If a package is not found in that channel the next one will be used.
For example, running:
[envs.snakemake]
channels = ["conda-forge", "bioconda"]
dependencies = { snakemake = "*" }
exposed = { snakemake = "snakemake" }
More information on channels can be found here.
Dependencies#
Dependencies are the Conda packages that will be installed into your environment. For example, running:
creates the following entry in the manifest: Typically, you'd specify just the tool you're installing, but you can add more packages if needed. Defining the environment to install into will allow you to add multiple dependencies at once. For example, running: will create the following entry in the manifest:[envs.my-env]
channels = ["conda-forge"]
dependencies = { git = "*", vim = "*", python = "*" }
# ...
You can add
dependencies to an existing environment by running:
They will be added as dependencies to the my-env
environment but won't auto expose the binaries from the new packages.
You can remove
dependencies by running:
Exposed executables#
One can instruct pixi global install
, under which name it will expose executables:
The manifest is modified like this:
[envs.bat]
channels = ["https://prefix.dev/conda-forge"]
dependencies = { bat = "*" }
exposed = { bird = "bat" }
This means that executable bat
will be exposed under the name bird
.
You can learn more about how executables are detected in the concepts chapter.
Shortcuts#
Especially for graphical user interfaces it is useful to add shortcuts.
This way the application shows up in the start menu or is suggested when you want to open a file type the application supports.
If the package supports shortcuts, nothing has to be done from your side.
Simply executing pixi global install
will do the trick.
For example, pixi global install mss
will lead to the following manifest:
[envs.mss]
channels = ["https://prefix.dev/conda-forge"]
dependencies = { mss = "*" }
exposed = { ... }
shortcuts = ["mss"]
Note the shortcuts
entry.
If it's present, pixi
will install the shortcut for the mss
package.
This means, the application will show up in the start menu.
If you want to package an application yourself that would benefit from this, you can check out the corresponding documentation.