{ config, pkgs, lib, ... }: with lib; let cfg = config.programs.custom.git; in { options.programs.custom.git.enable = mkEnableOption "install git and all its tools"; config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ git tig git-crypt gitAndTools.gitflow gitAndTools.gitSVN gitAndTools.git2cl # merge tools meld # activate using : # git config --global core.pager "diff-so-fancy | less --tabs=4 -RFX" gitAndTools.diff-so-fancy ]; }; }