| 11 Jul 2023 |
jbedo | the decision to use flakes is orthogonal to R, i use it and find it useful but it does have limitiations and are somewhat controversial | 05:39:21 |
jbedo | regardless of using flakes or not, focusing on understanding core nix will go a long way | 05:43:30 |
peddie | I've not written much down as it's just what I have managed to scrape together, and I don't have any blog or commit bits to nixpkgs. but there are examples in projects on github, like https://github.com/peddie/solar-api/blob/master/flake.nix | 05:55:52 |
peddie | as to whether you should use flakes: not really sure, I just happened to go that route | 05:56:25 |
Bruno Rodrigues | very interesting thanks! I’m still in exploration phase, and am reading lots of docs currently. Already managed to drop into a nix interactive shell with R and some packages. But I’m looking more into it to see if I could build some R package that would make it easy to essentially set up, for each new project one starts, an dev environment using nix | 06:42:52 |
Bruno Rodrigues | yesterday I read about flakes, so I was wondering if and what was the consensus on them :) | 06:43:36 |
Bruno Rodrigues | what would you say is the biggest benefit of using flakes over not using them? | 06:44:02 |
peddie | OK, it sounds a bit like templates (for setting up a dev env)? | 07:01:43 |
peddie | I think there is emphatically no consensus on flakes | 07:01:50 |
Bruno Rodrigues | ok | 07:03:15 |
Bruno Rodrigues | I’d like to have something like setup_env("4.2.1", c("dplyr", "tidyr", "janitor"), ide = "rstudio") that would create a default.nix and build the environment. Then, users would be advised to go to the environment and start rstudio from there, so that they could work in that new environment shipping that specific version of R and packages | 07:06:04 |
peddie | ah, I see, you want to configure it from an R session different to the one you want to use for development? | 10:10:10 |
Bruno Rodrigues | yes, because I want to build something that R users could use with as little friction as possible | 10:12:48 |
Bruno Rodrigues | and R users are really used to do everything from the R session, not so much from a cli tool | 10:13:04 |
Bruno Rodrigues | something that would mimic renv in a sense, but with nix instead (and nix would even go further, as it would even provide a separate R installation and potentielly RStudio as well) | 10:13:48 |
Bruno Rodrigues | then that default.nix file could be used for reproducibility purposes | 10:14:18 |
peddie | got it | 22:13:55 |
| 12 Jul 2023 |
| @futaki:matrix.org left the room. | 08:46:24 |
Bruno Rodrigues | So I've started playing with Nix. I am trying to build an environment with R and some packages installed (inside Docker, just to avoid interfering with my system). Here is the default.nix that I'm using:
with import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/e11142026e2cef35ea52c9205703823df225c947.tar.gz") {};
{
myProject = stdenv.mkDerivation {
name = "myProject";
version = "1";
src = if lib.inNixShell then null else nix;
buildInputs = with rPackages; [
R
ggplot2
knitr
];
};
}
| 12:19:26 |