diff --git a/pkgs/servers/gemini/agate/default.nix b/pkgs/servers/gemini/agate/default.nix new file mode 100644 index 000000000000..558efe2fb019 --- /dev/null +++ b/pkgs/servers/gemini/agate/default.nix @@ -0,0 +1,29 @@ +{ lib, fetchFromGitHub, rustPlatform, installShellFiles }: + +rustPlatform.buildRustPackage rec { + pname = "agate"; + version = "2.3.0"; + + src = fetchFromGitHub { + owner = "mbrubeck"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-rwoEZnxh0x+xaggJuoeSjE1ctF43ChW5awcDJyoWioA="; + }; + + cargoSha256 = "sha256-ey/fUHkPoWjWlLjh1WNpwMKOkdQKgFYcLwQdx2RQ3CI="; + + meta = with lib; { + homepage = "https://proxy.vulpes.one/gemini/gem.limpet.net/agate"; + changelog = "https://proxy.vulpes.one/gemini/gem.limpet.net/agate"; + description = "Very simple server for the Gemini hypertext protocol"; + longDescription = '' + Agate is a server for the Gemini network protocol, built with the Rust + programming language. Agate has very few features, and can only serve + static files. It uses async I/O, and should be quite efficient even when + running on low-end hardware and serving many concurrent requests. + ''; + license = licenses.asl20; + maintainers = with maintainers; [ jk ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9063fcce83ba..353190e2580d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -705,6 +705,8 @@ in afpfs-ng = callPackage ../tools/filesystems/afpfs-ng { }; + agate = callPackage ../servers/gemini/agate { }; + agda-pkg = callPackage ../development/tools/agda-pkg { }; agrep = callPackage ../tools/text/agrep { };