diff options
author | Maciej Krüger <mkg20001@gmail.com> | 2021-10-11 15:03:03 +0200 |
---|---|---|
committer | Maciej Krüger <mkg20001@gmail.com> | 2021-10-11 17:56:33 +0200 |
commit | c84b55bbe6866e714ed3bb6de77e0acefb8e2eff (patch) | |
tree | a90d60ddfe05a916c84d4f274b5d0afec2790e13 /nixos | |
parent | 28b259bbb4d464bd5378fc21116ecdf71b50435e (diff) | |
download | nixpkgs-c84b55bbe6866e714ed3bb6de77e0acefb8e2eff.tar nixpkgs-c84b55bbe6866e714ed3bb6de77e0acefb8e2eff.tar.gz nixpkgs-c84b55bbe6866e714ed3bb6de77e0acefb8e2eff.tar.bz2 nixpkgs-c84b55bbe6866e714ed3bb6de77e0acefb8e2eff.tar.lz nixpkgs-c84b55bbe6866e714ed3bb6de77e0acefb8e2eff.tar.xz nixpkgs-c84b55bbe6866e714ed3bb6de77e0acefb8e2eff.tar.zst nixpkgs-c84b55bbe6866e714ed3bb6de77e0acefb8e2eff.zip |
nixos/git: add lfs option to allow enabling and installing lfs easily
Co-authored-by: figsoda <figsoda@pm.me>
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/programs/git.nix | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/nixos/modules/programs/git.nix b/nixos/modules/programs/git.nix index 461207a6cd3..6c60daf21f9 100644 --- a/nixos/modules/programs/git.nix +++ b/nixos/modules/programs/git.nix @@ -31,15 +31,39 @@ in section of git-config(1) for more information. ''; }; - }; - }; - config = mkIf cfg.enable { - environment.systemPackages = [ cfg.package ]; - environment.etc.gitconfig = mkIf (cfg.config != {}) { - text = generators.toGitINI cfg.config; + lfs = { + enable = mkEnableOption "git-lfs"; + + package = mkOption { + type = types.package; + default = pkgs.git-lfs; + defaultText = literalExpression "pkgs.git-lfs"; + description = "The git-lfs package to use"; + }; + }; }; }; + config = mkMerge [ + (mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + environment.etc.gitconfig = mkIf (cfg.config != {}) { + text = generators.toGitINI cfg.config; + }; + }) + (mkIf (cfg.enable && cfg.lfs.enable) { + environment.systemPackages = [ cfg.lfs.package ]; + programs.git.config = { + filter.lfs = { + clean = "git-lfs clean -- %f"; + smudge = "git-lfs smudge -- %f"; + process = "git-lfs filter-process"; + required = true; + }; + }; + }) + ]; + meta.maintainers = with maintainers; [ figsoda ]; } |