Skip to content

Instantly share code, notes, and snippets.

@nghamilton
Created October 15, 2019 05:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nghamilton/d678d0011cf14742c14040745c36847f to your computer and use it in GitHub Desktop.
Save nghamilton/d678d0011cf14742c14040745c36847f to your computer and use it in GitHub Desktop.
Nix + R with custom packages
{ nixpkgs ? import ../nixpkgs-overlayed.nix }:
let
rLibs = [ nixpkgs.pkgs.rPackages.tseries nixpkgs.pkgs.rPackages.forecast ];
r = nixpkgs.rWrapper.override {
packages = [ rLibs ];
};
in
r
{ nixpkgs ? import ../nix/nixpkgs-overlayed.nix }:
let
common = import ../common { inherit nixpkgs; };
frontend = import ../frontend { inherit nixpkgs; };
r = import ../nix/r { inherit nixpkgs; };
overrides = drv: {
buildInputs = drv.buildInputs ++ [r];
};
backend = nixpkgs.pkgs.haskellPackages.callCabal2nix
"backend" ./. { common = common; };
app = (nixpkgs.haskell.lib.dontHaddock backend)
.overrideAttrs overrides;
in
app
{ nixpkgs ? import ../nix/nixpkgs-overlayed.nix }:
let
r = import ../nix/r { inherit nixpkgs; };
in
(nixpkgs.pkgs.haskell.lib.addBuildTools (import ./. {})
(with nixpkgs.pkgs ;
[
cabal-install
haskellPackages.ghcid
r
]
)
).env
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment