2020-08-16 08:33:44 +00:00
|
|
|
# Eh... I don't really do math but hey, I occasionally create visual aids sometimes.
|
|
|
|
{ config, options, lib, pkgs, ... }:
|
|
|
|
|
|
|
|
with lib;
|
|
|
|
|
|
|
|
let
|
|
|
|
cfg = config.modules.dev.math;
|
|
|
|
in
|
|
|
|
{
|
|
|
|
options.modules.dev.math =
|
|
|
|
let mkEnableOption = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = false;
|
|
|
|
}; in {
|
2020-10-05 01:38:58 +00:00
|
|
|
enable = mkEnableOption;
|
2020-08-16 08:33:44 +00:00
|
|
|
r.enable = mkEnableOption;
|
|
|
|
};
|
|
|
|
|
2020-10-05 01:38:58 +00:00
|
|
|
config = mkIf cfg.enable {
|
2020-08-16 08:33:44 +00:00
|
|
|
my.packages = with pkgs; [
|
|
|
|
gnuplot # I came for the plots.
|
2020-10-05 01:38:58 +00:00
|
|
|
julia # A statistics-focused languaged named after a character in an iconic fighting game.
|
2020-08-16 08:33:44 +00:00
|
|
|
octave # Matlab's hipster brother.
|
|
|
|
] ++
|
|
|
|
|
|
|
|
(if cfg.r.enable then [
|
|
|
|
R # Rated G for accessibility.
|
2020-10-05 01:38:58 +00:00
|
|
|
rstudio # It's not that kind of studio.
|
2020-08-16 08:33:44 +00:00
|
|
|
] else []);
|
|
|
|
};
|
|
|
|
}
|