nixos/zmap: init module

The module installs `zmap` globally and links the config files to
`/etc/zmap`, the default location of config files for zmap.

The package provides pretty much a sensitive default, custom configs can
be created like this:

```
{ lib, ... }:
{
environment.etc."zmap/blacklist.conf" = lib.mkForce {
text = ''
# custom zmap blacklist
0.0.0.0/0
'';
};
}
```

Changed files
+19
nixos
modules
+1
nixos/modules/module-list.nix
···
./programs/xonsh.nix
./programs/xss-lock.nix
./programs/yabar.nix
+
./programs/zmap.nix
./programs/zsh/oh-my-zsh.nix
./programs/zsh/zsh.nix
./programs/zsh/zsh-autoenv.nix
+18
nixos/modules/programs/zmap.nix
···
+
{ pkgs, config, lib, ... }:
+
+
with lib;
+
+
let
+
cfg = config.programs.zmap;
+
in {
+
options.programs.zmap = {
+
enable = mkEnableOption "ZMap";
+
};
+
+
config = mkIf cfg.enable {
+
environment.systemPackages = [ pkgs.zmap ];
+
+
environment.etc."zmap/blacklist.conf".source = "${pkgs.zmap}/etc/zmap/blacklist.conf";
+
environment.etc."zmap/zmap.conf".source = "${pkgs.zmap}/etc/zmap.conf";
+
};
+
}