diff --git a/projects/Galene/default.nix b/projects/Galene/default.nix new file mode 100644 index 000000000..ccc65eb92 --- /dev/null +++ b/projects/Galene/default.nix @@ -0,0 +1,35 @@ +{ + lib, + pkgs, + sources, +}@args: +{ + metadata = { + summary = "Galene is a self-hosted video conferencing server. It features advanced networking and video algorithms and automatic subtitling."; + subgrants = [ + "Galene" + ]; + }; + + nixos.modules.services = { + galene = { + name = "galene"; + module = "${sources.inputs.nixpkgs}/nixos/modules/services/web-apps/galene.nix"; + examples.galene = { + module = ./example.nix; + description = ""; + tests.basic = import ./test.nix args; + }; + links = { + build = { + text = "Galene Installation"; + url = "https://galene.org/INSTALL.html"; + }; + test = { + text = "Usage Instructions"; + url = "https://galene.org/README.html"; + }; + }; + }; + }; +} diff --git a/projects/Galene/example.nix b/projects/Galene/example.nix new file mode 100644 index 000000000..70cbdc1fd --- /dev/null +++ b/projects/Galene/example.nix @@ -0,0 +1,5 @@ +{ ... }: +{ + services.galene.enable = true; + services.galene.insecure = true; +} diff --git a/projects/Galene/test.nix b/projects/Galene/test.nix new file mode 100644 index 000000000..317b2eafc --- /dev/null +++ b/projects/Galene/test.nix @@ -0,0 +1,25 @@ +{ + sources, + ... +}: +{ + name = "galene"; + + nodes = { + machine = + { ... }: + { + imports = [ + sources.modules.ngipkgs + sources.modules.services.galene + sources.examples.Galene.galene + ]; + }; + }; + + testScript = + { nodes, ... }: + '' + start_all() + ''; +}