How to make RStudio package manager as primary repository and CRAN as secondary in RStudio server?

The plan is to put our own github repositories and approved CRAN packages in RStudio package manager as a primary source of packages in RStudio server pro. If a package is not available in RSPM then look for it in CRAN. But when I set both CRAN and internal source(RSPM) in rsession.conf as instructed in https://docs.rstudio.com/rspm/admin/rstudio-server.html#rstudio-server , it seems that in Rstudio CRAN is always the primary source. How can I make RSPM as primary repository and CRAN as secondary in RStudio server?

Interesting! I have to admit I do not have a server in front of me to check. Does changing the order in the file help? I.e. if you put "Internal" first? Something like:

Internal=https://<your-package-manager-server-address>/<internal-repo-name>/latest
CRAN=https://<your-package-manager-server-address>/<cran-repo-name>/latest

The safest bet @zy45 is to create a single repository in RSPM that subscribes (in order) to your git source, your curated CRAN source, and then finally the generic CRAN source. RStudio Package Manager will enforce the order and ensure packages are prioritized correctly - and you also will get the benefit of repository versioning!

Is there a reason you want to do the combination on RStudio instead? What is the output of options('repos') ?

Thanks for the reply. This looks like a good approach. One more question, when I run
rspm list
I get something like below:

company-repo - This is repo company-repo.
 - internal (Git)
 - subset-cran (Curated CRAN)
 - cran (CRAN)

So this is in correct order and RSPM will look for package in internal first followed by subset-cran then cran, right?

Yes, that is correct. I am curious though, as subset-can will always be only part of what is in the entirety of CRAN, what is your use case? Are you trying to freeze certain versions of packages?