diff --git a/src/getting-started/installation.md b/src/getting-started/installation.md index 4a5b40d..e0b8065 100644 --- a/src/getting-started/installation.md +++ b/src/getting-started/installation.md @@ -1,25 +1,13 @@ # Getting started with e3 -The ESS EPICS environment (e3) uses [conda](https://docs.conda.io/en/latest/) for +e3 uses [conda](https://docs.conda.io/en/latest/) for environment and package management and explicitly builds on [conda-forge](https://conda-forge.org/): we follow conda-forge's global pinning file and use their repodata for dependency -resolution. ESS site-specific packages (typically EPICS modules) are hosted on an -internal conda channel in our Artifactory. +resolution. -## Quickstart - -:::{code-block} console -$ # Configure conda to use ESS packages (after installing conda/miniforge) -$ conda config --prepend channels ess-conda-local -$ conda config --set channel_alias https://artifactory.esss.lu.se/artifactory/api/conda -$ conda config --set channel_priority strict -$ -$ # Create and activate an environment with EPICS base and require -$ conda create --name=e3 epics-base require -$ conda activate e3 -$ -$ # Start an IOC -$ iocsh +:::{note} +For site specific configurations check: +* [European Spallation Source](../site-specific/ess.md) ::: ## Installing conda @@ -36,11 +24,10 @@ See [mamba documentation](https://mamba.readthedocs.io/) for details. ## Configuring conda -Configure your machine to find packages in the ESS conda channel: +Configure your machine to find packages in the conda-forge channel. :::{code-block} console -$ conda config --prepend channels ess-conda-local -$ conda config --set channel_alias https://artifactory.esss.lu.se/artifactory/api/conda +$ conda config --add channels conda-forge $ conda config --set channel_priority strict ::: @@ -50,19 +37,12 @@ like: :::{code-block} yaml channels: - - ess-conda-local - conda-forge -channel_alias: https://artifactory.esss.lu.se/artifactory/api/conda channel_priority: strict ::: ::: -:::{important} -Keep the channel order exactly as shown and use `channel_priority: strict`. This -ensures that ESS packages get prioritised and avoids environment conflicts. -::: - :::{caution} It is important to not mix Anaconda channels with conda-forge as the two are incompatible. See [Transitioning from Anaconda's `default` channels](https://conda-forge.org/docs/user/transitioning_from_defaults/) diff --git a/src/index.md b/src/index.md index 3905baa..5659f27 100644 --- a/src/index.md +++ b/src/index.md @@ -74,6 +74,15 @@ user/environments user/iocs-and-modules ::: +:::{toctree} +:hidden: +:maxdepth: 2 +:caption: Site Specific + +site-specific/ess.md +::: + + :::{toctree} :hidden: :maxdepth: 2 diff --git a/src/site-specific/ess.md b/src/site-specific/ess.md new file mode 100644 index 0000000..46e8f94 --- /dev/null +++ b/src/site-specific/ess.md @@ -0,0 +1,57 @@ +# European Spallation Source + +:::{important} +Here you find configurations specific for using e3 inside the European Spallation Source. These configurations +will not work if you don't have access to internal network. +::: + +## Quickstart + +:::{code-block} console +$ # Configure conda to use ESS packages (after installing conda/miniforge) +$ conda config --prepend channels ess-conda-local +$ conda config --set channel_alias https://artifactory.esss.lu.se/artifactory/api/conda +$ conda config --set channel_priority strict +$ +$ # Create and activate an environment with EPICS base and require +$ conda create --name=e3 epics-base require +$ conda activate e3 +$ +$ # Start an IOC +$ iocsh +::: + +## Configure conda + +Configure your machine to find packages in the ESS conda channel: + +:::{code-block} console +$ conda config --prepend channels ess-conda-local +$ conda config --set channel_alias https://artifactory.esss.lu.se/artifactory/api/conda +$ conda config --set channel_priority strict +::: + +:::{note} +Your configuration is stored at `~/.condarc`. After the commands above, it will look +like: + +:::{code-block} yaml +channels: + - ess-conda-local + - conda-forge +channel_alias: https://artifactory.esss.lu.se/artifactory/api/conda +channel_priority: strict +::: + +::: + +:::{important} +Keep the channel order exactly as shown and use `channel_priority: strict`. This +ensures that ESS packages get prioritised and avoids environment conflicts. +::: + +:::{caution} +It is important to not mix Anaconda channels with conda-forge as the two are incompatible. +See [Transitioning from Anaconda's `default` channels](https://conda-forge.org/docs/user/transitioning_from_defaults/) +for more information. +:::