-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automate creation of dev environments and installation of R packages #147
Comments
Hi @gueyenono , thanks these are useful suggestions! I think I’d prefer something like As the other suggestion, we could see what these dedicated Docker images ship, and use that as a starting point to perhaps. It would definitely. I’m thinking of:
|
@b-rodrigues @gueyenono I also like idea 1) and 2); for 1), we just need to make sure that it doesn't require to excessive parsing (check if it's worth it, before we write too much code). JSON, what {renv} uses, is quite simpler structure-wise (however, less potent) -- but easier to parse/deparse; plus for nix we have the entire formatting and language aspects of nix (currently we still have some room to adjust formatting, mainly tidy indenting, in generated |
First of all, many thanks to @b-rodrigues and @philipp-baumann for this package, which greatly flattens the steepness of the Nix learning curve for R users. This package is indeed a gem. The package is still young as of the time of writing this and the API is still in the process of stabilizing, but I would like to provide some suggestions for a probable future implementation:
From my understanding, installing a new R package in a Nix dev environment requires updating
default.nix
(using therix::rix()
function) and rebuilding the environment with it. Although the process is fairly simple, useRs may find it somewhat workflow-disrupting. It may be a good idea to add a new function to therix
package (à larenv::install()
) which automates this process.There are a few available specialized Docker containers for useRs depending on their main tasks. For example, the rocker project has a container for Shiny development and a container for geospatial analysis to name a few. There could be functions in
rix
which automate the building of such specialized dev environments. I discussed this suggestion with @b-rodrigues in private and he came up withrix_shiny()
andrix_geos()
as examples of what the functions could be named.Given that one of the goals of
rix
is to greatly lower the entry cost to the world of Nix, I strongly believe that these suggestions fit right into that vision.The text was updated successfully, but these errors were encountered: