diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/soft-serve/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/soft-serve/default.nix | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/soft-serve/default.nix b/nixpkgs/pkgs/servers/soft-serve/default.nix new file mode 100644 index 000000000000..c29162090811 --- /dev/null +++ b/nixpkgs/pkgs/servers/soft-serve/default.nix @@ -0,0 +1,39 @@ +{ lib, buildGoModule, fetchFromGitHub, makeWrapper, nixosTests, git, bash }: + +buildGoModule rec { + pname = "soft-serve"; + version = "0.7.4"; + + src = fetchFromGitHub { + owner = "charmbracelet"; + repo = "soft-serve"; + rev = "v${version}"; + hash = "sha256-sPsyZpmk0DJoM2Qn+hvv/FZZkogyi1fa7eEW68Vwf+g="; + }; + + vendorHash = "sha256-1Fy/DwCnWg8VNonRSAnm4M9EHwMUBhBxcWBoMqHPuHQ="; + + doCheck = false; + + ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + + nativeBuildInputs = [ makeWrapper ]; + + postInstall = '' + # Soft-serve generates git-hooks at run-time. + # The scripts require git and bash inside the path. + wrapProgram $out/bin/soft \ + --prefix PATH : "${lib.makeBinPath [ git bash ]}" + ''; + + passthru.tests = nixosTests.soft-serve; + + meta = with lib; { + description = "A tasty, self-hosted Git server for the command line"; + homepage = "https://github.com/charmbracelet/soft-serve"; + changelog = "https://github.com/charmbracelet/soft-serve/releases/tag/v${version}"; + mainProgram = "soft"; + license = licenses.mit; + maintainers = with maintainers; [ penguwin ]; + }; +} |