2020-08-19 18:35:23 +00:00
|
|
|
# The language for portable shell scripting.
|
|
|
|
{ config, options, lib, pkgs, ... }:
|
|
|
|
|
|
|
|
with lib;
|
2020-09-05 20:50:16 +00:00
|
|
|
let
|
2020-11-05 06:39:02 +00:00
|
|
|
cfg = config.modules.dev.perl;
|
2020-10-25 15:49:14 +00:00
|
|
|
perlWithPackages = pkgs.perl.withPackages (p:
|
|
|
|
with pkgs.perlPackages; [
|
|
|
|
ModuleBuild
|
|
|
|
ModuleInfo
|
|
|
|
ModuleInstall
|
|
|
|
ModernPerl
|
|
|
|
]);
|
2020-09-05 20:50:16 +00:00
|
|
|
in {
|
2020-08-19 18:35:23 +00:00
|
|
|
options.modules.dev.perl = {
|
|
|
|
enable = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = false;
|
|
|
|
};
|
2020-11-05 06:39:02 +00:00
|
|
|
|
|
|
|
raku.enable = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = false;
|
|
|
|
};
|
2020-08-19 18:35:23 +00:00
|
|
|
};
|
|
|
|
|
2020-11-05 06:39:02 +00:00
|
|
|
config = mkIf cfg.enable {
|
|
|
|
my.packages = [ perlWithPackages ]
|
|
|
|
++ (if cfg.raku.enable then [
|
2020-11-10 08:20:03 +00:00
|
|
|
pkgs.rakudo
|
2020-11-05 06:39:02 +00:00
|
|
|
] else []); };
|
2020-08-19 18:35:23 +00:00
|
|
|
}
|