git-lfs-transfer: init at 0.1.0-unstable-2024-10-07 (#350130)

This commit is contained in:
Arne Keller 2024-12-14 14:54:24 +01:00 committed by GitHub
commit 50346e3558
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 32 additions and 1 deletions

View File

@ -60,6 +60,8 @@ in
enable = lib.mkEnableOption "git-lfs (Large File Storage)";
package = lib.mkPackageOption pkgs "git-lfs" { };
enablePureSSHTransfer = lib.mkEnableOption "Enable pure SSH transfer in server side by adding git-lfs-transfer to environment.systemPackages";
};
};
};
@ -72,7 +74,10 @@ in
};
})
(lib.mkIf (cfg.enable && cfg.lfs.enable) {
environment.systemPackages = [ cfg.lfs.package ];
environment.systemPackages = lib.mkMerge [
[ cfg.lfs.package ]
(lib.mkIf cfg.lfs.enablePureSSHTransfer [ pkgs.git-lfs-transfer ])
];
programs.git.config = {
filter.lfs = {
clean = "git-lfs clean -- %f";

View File

@ -0,0 +1,26 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule {
pname = "git-lfs-transfer";
version = "0.1.0-unstable-2024-10-07";
src = fetchFromGitHub {
owner = "charmbracelet";
repo = "git-lfs-transfer";
rev = "422d24414fe4b803849b3f6fe7c4d8ab1b40803b";
hash = "sha256-YsplPW3i4W1RfkWQI1eGXFXb3JofQwKe+9LbjxeL1cM=";
};
vendorHash = "sha256-1cGlhLdnU6yTqzcB3J1cq3gawncbtdgkb3LFh2ZmXbM=";
meta = {
description = "Server-side implementation of the Git LFS pure-SSH protocol";
mainProgram = "git-lfs-transfer";
homepage = "https://github.com/charmbracelet/git-lfs-transfer";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ chn ];
};
}