NUVOLOS
Sign In
  • Getting Started
    • Introduction to Nuvolos
    • Documentation structure
    • Nuvolos basic concepts
      • Organisational hierarchy
      • Applications
      • Distribution
      • Data integration
      • Snapshots
      • Background tasks
    • Navigate in Nuvolos
    • Quickstart tutorials
      • Research
      • Education (instructor)
      • Education (student)
  • Features
    • Applications
      • Application resources
      • Sessions
        • Session Logs
      • Install a software package
      • Create a persistent .bashrc
      • Automatic code execution
      • Long-running applications
      • Troubleshooting applications
      • New applications or licenses
      • Configuring applications
      • Exporting applications
      • Add-ons
        • MariaDB add-on
        • PostgreSQL add-on
        • OpenSearch add-on
        • MongoDB add-on
        • Redis add-on
        • PostGIS add-on
        • Rclone mount add-on
        • Neo4j add-on
    • File system and storage
      • File navigator
      • Large File Storage
      • Preview files
      • Mount Dropbox
      • Access S3 buckets with RClone
      • Access remote files with SSHFS
      • Access files on SharePoint Online
    • Object distribution
      • Distribution strategies
      • The distributed instance
    • Snapshots
      • Create a snapshot
      • Restore a snapshot
      • Delete a snapshot
    • Database integration
      • Create datasets
      • View tables
      • Build queries
      • Upload data
      • Access data from applications
        • Set up ODBC drivers
        • Obtain tokens for data access
        • Find database and schema path
      • DBeaver integration
    • Environment variables and secrets
    • Searching
      • Page
      • Find an application
      • Find an organisation
      • Find a space
      • Find an instance
      • Find a state
    • Video library
    • Nuvolos CLI and Python API
      • Installing the CLI
      • Using the CLI
  • User Guides
    • Research guides
      • Inviting a reviewer
      • GPU computation
    • Education guides
      • Setting assignments
        • Programmatical assignment handling
      • Documenting your course
      • Setting up group projects
        • Collaborative application editing
      • Configuring student applications
      • Archiving your course
      • Student guides
        • Joining a course
        • Working on assignments
        • Leaving a course
    • Application-specific guides
      • JupyterLab
      • RStudio
      • VSCode
      • Stata
      • MATLAB
      • Terminal
      • Terminal [tmux]
      • Apache Airflow
      • Apache Superset
      • D-Wave Inspector
      • MLFlow
      • Databricks Connect
      • Dynare.jl
      • CloudBeaver
      • InveLab
      • Overleaf
      • Metabase
      • DNDCv.CAN
      • OpenMetaData
      • Uploading data to the Large File Storage
    • Data guides
      • Setting up a dataset on Nuvolos
      • Importing data on Nuvolos
      • A complete database research workflow (Matlab & RStudio)
      • Accessing data as data.frames in R
      • Working with CRSP and Compustat
      • Working with the S&P 500®
  • Pricing and Billing
    • Pricing structure
    • Resource pools and budgets
    • Nuvolos Compute Units (NCUs)
  • Administration
    • Roles
      • Requesting roles
    • Organisation management
    • Space management
      • Invite to a space
      • Revoke a space user
      • HPC spaces
      • Resting spaces
    • Instance management
      • Invite to an instance
    • Enabling extra services
    • Monitoring resource usage
  • Reference
    • Application reference
      • InveLab
        • Dataset selection
        • Modules
          • Time-series visualisation
          • Moment estimation
          • Mean-variance frontiers
          • Frontiers
          • Dynamic strategy
          • Portfolio analysis
          • Performance analysis
          • Benchmarking
          • Carry trade strategies
          • Risk measures
          • Conditional volatility
          • Replication
          • Factor factory
          • Factor tilting
          • Valuation
    • Glossary
  • FAQs
    • FAQs
    • Troubleshooting
      • Login troubleshooting
        • I forgot my email address
        • I forgot my identity provider
        • I can't log in to Nuvolos
        • I forgot my password
        • I haven't received the password reset email
        • I haven't received the invitation email
      • Application troubleshooting
        • I can't see an application
        • I can't start an application
        • I can't create an application
        • I can't delete an application
        • I can't stop a running application
        • JupyterLab 3 troubleshooting
        • Spyder 3.7 troubleshooting
      • Administration troubleshooting
        • I can't see a space
        • I can't create a space
        • I can't delete a space
        • I can't invite admins to my space
        • I can't see an instance
        • I can't create an instance
        • I can't delete an instance
        • I can't invite users to an instance
        • I can't see distributed content in my instance
        • I can't see a snapshot
        • I can't create a snapshot
        • I can't delete a snapshot
        • I can't revoke a user role
        • I can't upload a file
        • I can't delete a file
        • I can't invite students to my course
      • Content troubleshooting
        • I can't find my files in my Linux home
        • I can't find my files among the Workspace files
        • I restored a snapshot by mistake
Powered by GitBook
On this page
  • Basic provisions
  • The conda environment
  • LaTeX
  • Install TinyTeX
  • TinyTeX in notebooks
  • Tips and tricks
  • Single-purpose applications
  • Create a new application instead of upgrading

Was this helpful?

  1. Features
  2. Applications

Install a software package

PreviousSession LogsNextCreate a persistent .bashrc

Last updated 1 year ago

Was this helpful?

In Nuvolos, almost all applications are equipped with conda environments and we also let our users load user-written packages and extensions.

Basic provisions

All Nuvolos applications come with a set of useful *nix applications pre-installed:

  • git

  • git-lfs

  • vim

  • build-essential (includes make)

  • xterm for GUI based applications for terminal emulation

  • Nuvolos data connectors for supported languages

The conda environment

Most Nuvolos applications come equipped with the package manager , and more recent applications alias conda to a faster drop-in replacement called . Conda is a language-agnostic package manager which lets you install language-specific packages and system libraries as a non-root user. For the Python language, most packages available via pip can also be installed via conda.

Try to install software with conda first and keep pip as a fallback option. Exception to this rule are GPU related libraries, please consult our on the topic.

We also recommend passing the '--freeze-installed' flag when installing with conda, to ensure the minimal possible changes to the conda environment.

If you cannot self-service your packages, contact us at and we will help you.

As an example, suppose you want to install and for mass editing gifs. The following command will install this to the conda environment of your application:

conda install --freeze-installed gifsicle imagemagick

When distributing and snapshotting an application, the contents of the conda environment are also impacted. This is a key feature for reproducibility.

LaTeX

The most widespread installers of TeXLive require root privileges to install TeX, and thus won't work with Nuvolos applications. You have a handful of options to work with TeX on Nuvolos:

  1. You can install Overleaf as a standalone Nuvolos application

  2. You can install various JupyterLab versions with TeX preinstalled (search by the tag language:latex)

Install TinyTeX

Open a terminal in your application, and execute the following command:

export TINYTEX_DIR=${CONDA_DIR:-~} && wget -qO- "https://yihui.org/tinytex/install-bin-unix.sh" | sh && if [ -f /files/.nuvolos/.bashrc ]; then echo "PATH=$TINYTEX_DIR/.TinyTeX/bin/x86_64-linux:$PATH" >> /files/.bashrc; else echo "PATH=$TINYTEX_DIR/.TinyTeX/bin/x86_64-linux:$PATH" >> /files/.nuvolos/.bashrc; fi && export PATH=$TINYTEX_DIR/.TinyTeX/bin/x86_64-linux:$PATH && echo "Successfully installed TinyTex"

If your application has a conda environment, TinyTeX will be installed next to it, and that means your TeX environment will be snapshotted/distributed along with your regular conda packages

tlmgr install collection-fontsrecommended

You can list available collections with

tlmgr info --list collections

and schemes with

tlmgr info --list schemes

TinyTeX in notebooks

To use TeX from notebooks, you'll probably need to execute the following command in one of the first cells of your notebook

import os
os.environ['PATH'] = f"{os.environ.get('CONDA_DIR') or os.path.expanduser('~')}/.TinyTeX/bin/x86_64-linux:{os.environ['PATH']}"

Tips and tricks

Single-purpose applications

We strongly suggest creating single-purpose applications.

This practice has the following benefits:

  1. Conda or R package environments remain monolithic and fairly lightweight. Adding more and more packages to the same environment will inevitable result in an unmanageable environment.

  2. Distribution and snapshotting takes less storage and resources and conclude faster.

Create a new application instead of upgrading

If you are contemplating doing a major version update on your application, we suggest creating a new app in the same instance and starting there from scratch.

This practice has the following benefits:

  1. Conda environments can break after major updates.

  2. The reproducibility of your work may suffer - however it is trivial to maintain two monolithic and separate application structures in parallel, even in the same instance!

  3. Distribution is based on filesystem-differences and after-upgrade distributions may become less stable due to the massive number of changes occurring on the filesystem.

You can install TeX using

TinyTex installs by default a lightweight TeX distribution. You can use tlmgr to install additional you need, e.g.

conda
mamba
GPU documentation
support@nuvolos.cloud
imagemagick
gifsicle
TinyTex
TeX packages