git.iko.soy/typeable/nixpkgs
on master help sign in
Merge pull request #141255 from mkg20001/lfs
commite4ef597edfd8a0ba5f12362932fc9b1dd01a0aef authorMaciej Krüger <mkg20001@gmail.com> dateMon 11 Oct 2021, 18:52 (5 years ago) parentf01fbcac84b55b
1 file changed+30−6
nixos/modules/programs/git.nix+30−6
nixos/modules/programs/git.nix+30−6
@@ -31,15 +31,39 @@ in
3131 section of git-config(1) for more information.
3232 '';
3333 };
34− };
35− };
3634
37− config = mkIf cfg.enable {
38− environment.systemPackages = [ cfg.package ];
39− environment.etc.gitconfig = mkIf (cfg.config != {}) {
40− text = generators.toGitINI cfg.config;
35+ lfs = {
36+ enable = mkEnableOption "git-lfs";
37+
38+ package = mkOption {
39+ type = types.package;
40+ default = pkgs.git-lfs;
41+ defaultText = literalExpression "pkgs.git-lfs";
42+ description = "The git-lfs package to use";
43+ };
44+ };
4145 };
4246 };
4347
48+ config = mkMerge [
49+ (mkIf cfg.enable {
50+ environment.systemPackages = [ cfg.package ];
51+ environment.etc.gitconfig = mkIf (cfg.config != {}) {
52+ text = generators.toGitINI cfg.config;
53+ };
54+ })
55+ (mkIf (cfg.enable && cfg.lfs.enable) {
56+ environment.systemPackages = [ cfg.lfs.package ];
57+ programs.git.config = {
58+ filter.lfs = {
59+ clean = "git-lfs clean -- %f";
60+ smudge = "git-lfs smudge -- %f";
61+ process = "git-lfs filter-process";
62+ required = true;
63+ };
64+ };
65+ })
66+ ];
67+
4468 meta.maintainers = with maintainers; [ figsoda ];
4569}