b-rodrigues / rix

Reproducible development environments for R with Nix
https://b-rodrigues.github.io/rix/
GNU General Public License v3.0
102 stars 11 forks source link

Add possibility to install local tarballs of packages #184

Closed b-rodrigues closed 1 week ago

b-rodrigues commented 2 weeks ago

This works, need to make it automated:

let
 pkgs = import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/8ad5e8132c5dcf977e308e7bf5517cc6cc0bf7d8.tar.gz") {};
 local_pkgs = [(pkgs.rPackages.buildRPackage {
    name = "chronicler";
    src = ./chronicler_0.2.2.tar.gz;
    propagatedBuildInputs = builtins.attrValues {
      inherit (pkgs.rPackages)  clipr diffobj dplyr maybe rlang stringr tibble;
    };
  }) ];
  system_packages = builtins.attrValues {
  inherit (pkgs) R glibcLocales nix pandoc;
};
  in
  pkgs.mkShell {
    LOCALE_ARCHIVE = if pkgs.system == "x86_64-linux" then  "${pkgs.glibcLocales}/lib/locale/locale-archive" else "";
    LANG = "en_US.UTF-8";
    LC_ALL = "en_US.UTF-8";
    LC_TIME = "en_US.UTF-8";
    LC_MONETARY = "en_US.UTF-8";
    LC_PAPER = "en_US.UTF-8";
    LC_MEASUREMENT = "en_US.UTF-8";

    buildInputs = [ local_pkgs system_packages ];
  }