Loading nixos/modules/services/web-apps/pretalx.nix +27 −8 Original line number Diff line number Diff line Loading @@ -11,14 +11,19 @@ let configFile = format.generate "pretalx.cfg" cfg.settings; extras = cfg.package.optional-dependencies.redis ++ lib.optionals (cfg.settings.database.backend == "mysql") cfg.package.optional-dependencies.mysql ++ lib.optionals (cfg.settings.database.backend == "postgresql") cfg.package.optional-dependencies.postgres; finalPackage = cfg.package.override { inherit (cfg) plugins; }; pythonEnv = cfg.package.python.buildEnv.override { extraLibs = [ (cfg.package.python.pkgs.toPythonModule cfg.package) ] ++ (with cfg.package.python.pkgs; [ gunicorn ] ++ lib.optional cfg.celery.enable celery) ++ extras; pythonEnv = finalPackage.python.buildEnv.override { extraLibs = with finalPackage.python.pkgs; [ (toPythonModule finalPackage) gunicorn ] ++ finalPackage.optional-dependencies.redis ++ lib.optionals cfg.celery.enable [ celery ] ++ lib.optionals (cfg.settings.database.backend == "mysql") finalPackage.optional-dependencies.mysql ++ lib.optionals (cfg.settings.database.backend == "postgresql") finalPackage.optional-dependencies.postgres; }; in Loading @@ -44,6 +49,20 @@ in description = "User under which pretalx should run."; }; plugins = lib.mkOption { type = with lib.types; listOf package; default = []; example = lib.literalExpression '' with config.services.pretalx.package.plugins; [ pages youtube ]; ''; description = '' Pretalx plugins to install into the Python environment. ''; }; gunicorn.extraArgs = lib.mkOption { type = with lib.types; listOf str; default = [ Loading nixos/tests/web-apps/pretalx.nix +4 −1 Original line number Diff line number Diff line Loading @@ -5,13 +5,16 @@ meta.maintainers = lib.teams.c3d2.members; nodes = { pretalx = { pretalx = { config, ... }: { networking.extraHosts = '' 127.0.0.1 talks.local ''; services.pretalx = { enable = true; plugins = with config.services.pretalx.package.plugins; [ pages ]; nginx.domain = "talks.local"; settings = { site.url = "http://talks.local"; Loading pkgs/by-name/pr/pretalx/package.nix +8 −1 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ , gettext , python3 , fetchFromGitHub , plugins ? [ ] , nixosTests }: Loading Loading @@ -132,7 +133,7 @@ python.pkgs.buildPythonApplication rec { vobject whitenoise zxcvbn ] ++ beautifulsoup4.optional-dependencies.lxml; ] ++ beautifulsoup4.optional-dependencies.lxml ++ plugins; passthru.optional-dependencies = { mysql = with python.pkgs; [ Loading Loading @@ -210,6 +211,12 @@ python.pkgs.buildPythonApplication rec { tests = { inherit (nixosTests) pretalx; }; plugins = lib.recurseIntoAttrs ( lib.packagesFromDirectoryRecursive { inherit (python.pkgs) callPackage; directory = ./plugins; } ); }; inherit meta; Loading pkgs/by-name/pr/pretalx/plugins/downstream.nix 0 → 100644 +30 −0 Original line number Diff line number Diff line { lib, buildPythonPackage, fetchFromGitHub, setuptools, }: buildPythonPackage rec { pname = "pretalx-downstream"; version = "1.2.0"; pyproject = true; src = fetchFromGitHub { owner = "pretalx"; repo = "pretalx-downstream"; rev = "v${version}"; hash = "sha256-MzoK/tzf6ajZ/THIXyad/tfb3lsQD9k9J6aBfoP9ONo="; }; build-system = [ setuptools ]; pythonImportsCheck = [ "pretalx_downstream" ]; meta = { description = "Use pretalx passively by importing another event's schedule"; homepage = "https://github.com/pretalx/pretalx-downstream"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ wegank ]; }; } pkgs/by-name/pr/pretalx/plugins/media-ccc-de.nix 0 → 100644 +30 −0 Original line number Diff line number Diff line { lib, buildPythonPackage, fetchFromGitHub, setuptools, }: buildPythonPackage rec { pname = "pretalx-media-ccc-de"; version = "1.2.1"; pyproject = true; src = fetchFromGitHub { owner = "pretalx"; repo = "pretalx-media-ccc-de"; rev = "v${version}"; hash = "sha256-QCnZZpYjHxj92Dl2nRd4lXapufcqRmlVH6LEq0rzQ2U="; }; build-system = [ setuptools ]; pythonImportsCheck = [ "pretalx_media_ccc_de" ]; meta = { description = "Pull recordings from media.ccc.de and embed them in talk pages"; homepage = "https://github.com/pretalx/pretalx-media-ccc-de"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ wegank ]; }; } Loading
nixos/modules/services/web-apps/pretalx.nix +27 −8 Original line number Diff line number Diff line Loading @@ -11,14 +11,19 @@ let configFile = format.generate "pretalx.cfg" cfg.settings; extras = cfg.package.optional-dependencies.redis ++ lib.optionals (cfg.settings.database.backend == "mysql") cfg.package.optional-dependencies.mysql ++ lib.optionals (cfg.settings.database.backend == "postgresql") cfg.package.optional-dependencies.postgres; finalPackage = cfg.package.override { inherit (cfg) plugins; }; pythonEnv = cfg.package.python.buildEnv.override { extraLibs = [ (cfg.package.python.pkgs.toPythonModule cfg.package) ] ++ (with cfg.package.python.pkgs; [ gunicorn ] ++ lib.optional cfg.celery.enable celery) ++ extras; pythonEnv = finalPackage.python.buildEnv.override { extraLibs = with finalPackage.python.pkgs; [ (toPythonModule finalPackage) gunicorn ] ++ finalPackage.optional-dependencies.redis ++ lib.optionals cfg.celery.enable [ celery ] ++ lib.optionals (cfg.settings.database.backend == "mysql") finalPackage.optional-dependencies.mysql ++ lib.optionals (cfg.settings.database.backend == "postgresql") finalPackage.optional-dependencies.postgres; }; in Loading @@ -44,6 +49,20 @@ in description = "User under which pretalx should run."; }; plugins = lib.mkOption { type = with lib.types; listOf package; default = []; example = lib.literalExpression '' with config.services.pretalx.package.plugins; [ pages youtube ]; ''; description = '' Pretalx plugins to install into the Python environment. ''; }; gunicorn.extraArgs = lib.mkOption { type = with lib.types; listOf str; default = [ Loading
nixos/tests/web-apps/pretalx.nix +4 −1 Original line number Diff line number Diff line Loading @@ -5,13 +5,16 @@ meta.maintainers = lib.teams.c3d2.members; nodes = { pretalx = { pretalx = { config, ... }: { networking.extraHosts = '' 127.0.0.1 talks.local ''; services.pretalx = { enable = true; plugins = with config.services.pretalx.package.plugins; [ pages ]; nginx.domain = "talks.local"; settings = { site.url = "http://talks.local"; Loading
pkgs/by-name/pr/pretalx/package.nix +8 −1 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ , gettext , python3 , fetchFromGitHub , plugins ? [ ] , nixosTests }: Loading Loading @@ -132,7 +133,7 @@ python.pkgs.buildPythonApplication rec { vobject whitenoise zxcvbn ] ++ beautifulsoup4.optional-dependencies.lxml; ] ++ beautifulsoup4.optional-dependencies.lxml ++ plugins; passthru.optional-dependencies = { mysql = with python.pkgs; [ Loading Loading @@ -210,6 +211,12 @@ python.pkgs.buildPythonApplication rec { tests = { inherit (nixosTests) pretalx; }; plugins = lib.recurseIntoAttrs ( lib.packagesFromDirectoryRecursive { inherit (python.pkgs) callPackage; directory = ./plugins; } ); }; inherit meta; Loading
pkgs/by-name/pr/pretalx/plugins/downstream.nix 0 → 100644 +30 −0 Original line number Diff line number Diff line { lib, buildPythonPackage, fetchFromGitHub, setuptools, }: buildPythonPackage rec { pname = "pretalx-downstream"; version = "1.2.0"; pyproject = true; src = fetchFromGitHub { owner = "pretalx"; repo = "pretalx-downstream"; rev = "v${version}"; hash = "sha256-MzoK/tzf6ajZ/THIXyad/tfb3lsQD9k9J6aBfoP9ONo="; }; build-system = [ setuptools ]; pythonImportsCheck = [ "pretalx_downstream" ]; meta = { description = "Use pretalx passively by importing another event's schedule"; homepage = "https://github.com/pretalx/pretalx-downstream"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ wegank ]; }; }
pkgs/by-name/pr/pretalx/plugins/media-ccc-de.nix 0 → 100644 +30 −0 Original line number Diff line number Diff line { lib, buildPythonPackage, fetchFromGitHub, setuptools, }: buildPythonPackage rec { pname = "pretalx-media-ccc-de"; version = "1.2.1"; pyproject = true; src = fetchFromGitHub { owner = "pretalx"; repo = "pretalx-media-ccc-de"; rev = "v${version}"; hash = "sha256-QCnZZpYjHxj92Dl2nRd4lXapufcqRmlVH6LEq0rzQ2U="; }; build-system = [ setuptools ]; pythonImportsCheck = [ "pretalx_media_ccc_de" ]; meta = { description = "Pull recordings from media.ccc.de and embed them in talk pages"; homepage = "https://github.com/pretalx/pretalx-media-ccc-de"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ wegank ]; }; }