diff --git a/flake.nix b/flake.nix index 215d52f..9129132 100644 --- a/flake.nix +++ b/flake.nix @@ -27,27 +27,10 @@ }; }; devShells = { - default = pkgs.mkShell { - packages = with pkgs; [ - snakemake - gawk - gnused - nickel - graphviz - # TODO separate into several shells - (python3.withPackages (ps: with ps; [ - requests - kapkgs.execo - ])) - #(rWrapper.override { packages = with rPackages; [ tidyverse reshape2 ]; }) - ]; - }; - latex = pkgs.mkShell { - packages = with pkgs; [ - texliveFull - rubber - ]; - }; + default = import ./workflow/envs/snakemake.nix { inherit pkgs kapkgs; }; + nickel = import ./workflow/envs/nickel.nix { inherit pkgs kapkgs; }; + latex = import ./workflow/envs/latex.nix { inherit pkgs kapkgs; }; + analysis = import ./workflow/envs/analysis.nix { inherit pkgs kapkgs; }; }; }); } diff --git a/workflow/envs/analysis.nix b/workflow/envs/analysis.nix new file mode 100644 index 0000000..cd864c6 --- /dev/null +++ b/workflow/envs/analysis.nix @@ -0,0 +1,12 @@ +{ pkgs, kapkgs }: + +pkgs.mkShell { + packages = with pkgs; [ + (rWrapper.override { + packages = with rPackages; [ + tidyverse + reshape2 + ]; + }) + ]; +} diff --git a/workflow/envs/latex.nix b/workflow/envs/latex.nix new file mode 100644 index 0000000..e136ecd --- /dev/null +++ b/workflow/envs/latex.nix @@ -0,0 +1,8 @@ +{ pkgs, kapkgs }: + +pkgs.mkShell { + packages = with pkgs; [ + texliveFull + rubber + ]; +} diff --git a/workflow/envs/nickel.nix b/workflow/envs/nickel.nix new file mode 100644 index 0000000..a726eec --- /dev/null +++ b/workflow/envs/nickel.nix @@ -0,0 +1,7 @@ +{ pkgs, kapkgs }: + +pkgs.mkShell { + packages = with pkgs; [ + nickel + ]; +} diff --git a/workflow/envs/snakemake.nix b/workflow/envs/snakemake.nix new file mode 100644 index 0000000..e5791c7 --- /dev/null +++ b/workflow/envs/snakemake.nix @@ -0,0 +1,12 @@ +{ pkgs, kapkgs }: + +pkgs.mkShell { + packages = with pkgs; [ + snakemake + gawk + gnused + (python3.withPackages (ps: with ps; [ + kapkgs.execo + ])) + ]; +}