diff --git a/.gitignore b/.gitignore index c52bee4..6d81922 100644 --- a/.gitignore +++ b/.gitignore @@ -2,5 +2,3 @@ /.reference/ /backend/.phpunit.cache/ /.postgres/ -/result -/result-* diff --git a/flake.nix b/flake.nix index 866671b..ab7aca0 100644 --- a/flake.nix +++ b/flake.nix @@ -12,18 +12,12 @@ }: let nixosModule = import ./nix/nixos-module.nix; - uploadLimits = import ./nix/upload-limits.nix; in utils.lib.eachDefaultSystem ( system: let pkgs = nixpkgs.legacyPackages.${system}; - devPhp = pkgs.php.buildEnv { - extraConfig = uploadLimits.phpOptions; - }; - packages = import ./nix/packages { - inherit pkgs uploadLimits; - }; + packages = import ./nix/packages { inherit pkgs; }; in { inherit packages; @@ -34,37 +28,12 @@ inherit nixpkgs system; module = nixosModule; }; - dev-php-upload-limits = - pkgs.runCommand "rabbi-gerzi-dev-php-upload-limits" - { - preferLocalBuild = true; - } - '' - actual_upload_max_filesize="$( - ${devPhp}/bin/php -r 'echo ini_get("upload_max_filesize");' - )" - actual_post_max_size="$( - ${devPhp}/bin/php -r 'echo ini_get("post_max_size");' - )" - - if [ "$actual_upload_max_filesize" != "${uploadLimits.phpUploadLimit}" ]; then - echo "upload_max_filesize was $actual_upload_max_filesize" >&2 - exit 1 - fi - - if [ "$actual_post_max_size" != "${uploadLimits.phpUploadLimit}" ]; then - echo "post_max_size was $actual_post_max_size" >&2 - exit 1 - fi - - echo "$actual_upload_max_filesize" > $out - ''; }; devShells.default = pkgs.mkShell { buildInputs = with pkgs; [ onefetch - devPhp + php phpPackages.composer phpPackages.php-codesniffer vscode-langservers-extracted diff --git a/nix/checks/module-eval.nix b/nix/checks/module-eval.nix index 1de9137..9da8eea 100644 --- a/nix/checks/module-eval.nix +++ b/nix/checks/module-eval.nix @@ -7,9 +7,7 @@ }: let - uploadLimits = import ../upload-limits.nix; - - evaluatedConfig = + evaluatedHostName = (nixpkgs.lib.nixosSystem { inherit system; modules = [ @@ -27,48 +25,13 @@ let }; } ]; - }).config; - - evaluatedHostName = evaluatedConfig.services.rabbi-gerzi.backend.hostName; - - backendVirtualHost = evaluatedConfig.services.nginx.virtualHosts.${evaluatedHostName}; - - phpOptions = evaluatedConfig.services.phpfpm.pools.rabbi-gerzi.phpOptions; - - expectedUploadMaxFilesize = "upload_max_filesize = ${uploadLimits.phpUploadLimit}"; - - expectedPostMaxSize = "post_max_size = ${uploadLimits.phpUploadLimit}"; - - expectedNginxClientMaxBodySize = "client_max_body_size ${uploadLimits.nginxClientMaxBodySize};"; - - assertions = [ - { - passed = lib.hasInfix expectedUploadMaxFilesize phpOptions; - message = "php-fpm upload_max_filesize is not 6M"; - } - { - passed = lib.hasInfix expectedPostMaxSize phpOptions; - message = "php-fpm post_max_size is not 6M"; - } - { - passed = lib.hasInfix expectedNginxClientMaxBodySize backendVirtualHost.extraConfig; - message = "nginx client_max_body_size is not 6m"; - } - ]; - - failedAssertions = lib.filter (assertion: !assertion.passed) assertions; + }).config.services.rabbi-gerzi.backend.hostName; in pkgs.runCommand "rabbi-gerzi-module-eval" { - failures = lib.concatMapStringsSep "\n" (assertion: assertion.message) failedAssertions; value = evaluatedHostName; preferLocalBuild = true; } '' - if [ -n "$failures" ]; then - printf '%s\n' "$failures" >&2 - exit 1 - fi - echo "$value" > $out '' diff --git a/nix/nixos-module.nix b/nix/nixos-module.nix index 8bfb03a..e7c3995 100644 --- a/nix/nixos-module.nix +++ b/nix/nixos-module.nix @@ -13,7 +13,6 @@ let appDir = "${backendPackage}/share/php/rabbi-gerzi-backend"; phpPackage = backendPackage.passthru.php; poolName = "rabbi-gerzi"; - uploadLimits = import ./upload-limits.nix; storagePath = "${cfg.stateDir}/storage"; cachePath = "${cfg.cacheDir}/bootstrap-cache"; setupService = "rabbi-gerzi-setup"; @@ -240,7 +239,6 @@ in services.phpfpm.pools.${poolName} = { inherit (cfg) user group; inherit phpPackage; - phpOptions = uploadLimits.phpOptions; settings = { "catch_workers_output" = true; "clear_env" = "no"; @@ -318,9 +316,6 @@ in cfg.backend.nginx { root = "${appDir}/public"; - extraConfig = '' - client_max_body_size ${uploadLimits.nginxClientMaxBodySize}; - ''; locations = { "/" = { index = "index.php"; diff --git a/nix/packages/backend.nix b/nix/packages/backend.nix index 02e732b..e9eac6f 100644 --- a/nix/packages/backend.nix +++ b/nix/packages/backend.nix @@ -2,19 +2,16 @@ lib, makeWrapper, php, - uploadLimits ? import ../upload-limits.nix, }: let - phpPackage = php.buildEnv { - extensions = - { enabled, all }: - enabled - ++ [ - all.pdo_pgsql - ]; - extraConfig = uploadLimits.phpOptions; - }; + phpPackage = php.withExtensions ( + { enabled, all }: + enabled + ++ [ + all.pdo_pgsql + ] + ); in phpPackage.buildComposerProject2 (finalAttrs: { pname = "rabbi-gerzi-backend"; diff --git a/nix/packages/default.nix b/nix/packages/default.nix index bbd3482..45b1d04 100644 --- a/nix/packages/default.nix +++ b/nix/packages/default.nix @@ -1,12 +1,7 @@ -{ - pkgs, - uploadLimits ? import ../upload-limits.nix, -}: +{ pkgs }: rec { - backend = pkgs.callPackage ./backend.nix { - inherit uploadLimits; - }; + backend = pkgs.callPackage ./backend.nix { }; frontend = pkgs.callPackage ./frontend.nix { }; default = frontend; } diff --git a/nix/upload-limits.nix b/nix/upload-limits.nix deleted file mode 100644 index 6699d3b..0000000 --- a/nix/upload-limits.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - nginxClientMaxBodySize = "6m"; - phpUploadLimit = "6M"; - phpOptions = '' - upload_max_filesize = 6M - post_max_size = 6M - ''; -}