with import (builtins.fetchTarball { # FIXME: upgrade to nixpkgs 19 when stable and stick to stable # versions name = "nixos-unstable-2018-12-08"; url = https://github.com/nixos/nixpkgs/archive/61c3169a0e17d789c566d5b241bfe309ce4a6275.tar.gz; sha256 = "0qbycg7wkb71v20rchlkafrjfpbk2fnlvvbh3ai9pyfisci5wxvq"; }) {}; let adminer = rec { webRoot = pkgs.stdenv.mkDerivation rec { name = "adminer-4.7.0"; src = pkgs.fetchurl { url = "https://www.adminer.org/static/download/4.7.0/${name}.php"; sha256 = "1qq2g7rbfh2vrqfm3g0bz0qs057b049n0mhabnsbd1sgnpvnc5z7"; }; phases = "installPhase"; installPhase = '' mkdir -p $out cp $src $out/index.php ''; }; phpFpm = rec { socket = "/var/run/phpfpm/adminer.sock"; pool = '' listen = ${socket} user = wwwrun group = wwwrun listen.owner = wwwrun listen.group = wwwrun pm = ondemand pm.max_children = 5 pm.process_idle_timeout = 60 ;php_admin_flag[log_errors] = on php_admin_value[open_basedir] = "${webRoot}:/tmp" ''; }; apacheConf = '' Alias /adminer ${webRoot} DirectoryIndex = index.php SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" ''; nginxConf = { alias = webRoot; index = "index.php"; extraConfig = '' include ${pkgs.nginx}/conf/fastcgi.conf; fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_param HTTP_PROXY ""; fastcgi_param SCRIPT_FILENAME ${webRoot}/index.php; fastcgi_pass unix:${phpFpm.socket}; fastcgi_index index.php; fastcgi_intercept_errors on; ''; }; }; in { inherit adminer; }