43 lines
747 B
Nix
43 lines
747 B
Nix
|
{ withSystem, ... }:
|
||
|
|
||
|
let
|
||
|
name = "ptest";
|
||
|
in
|
||
|
{
|
||
|
perSystem =
|
||
|
psArgs@{ pkgs, ... }:
|
||
|
with pkgs;
|
||
|
{
|
||
|
packages.${name} = writeShellApplication {
|
||
|
inherit name;
|
||
|
|
||
|
runtimeInputs = [
|
||
|
psArgs.config.packages.onchange
|
||
|
];
|
||
|
|
||
|
text = ''
|
||
|
command="phpunit"
|
||
|
args=("--colors")
|
||
|
|
||
|
bin="vendor/bin"
|
||
|
|
||
|
if [[ -x "$bin/pest" ]]; then
|
||
|
command="pest"
|
||
|
args=()
|
||
|
fi
|
||
|
|
||
|
onchange "**/*.php" \
|
||
|
"$bin/$command ''${args[*]} $*"
|
||
|
'';
|
||
|
};
|
||
|
};
|
||
|
|
||
|
flake.modules.homeManager.base =
|
||
|
{ pkgs, ... }:
|
||
|
{
|
||
|
home.packages = [
|
||
|
(withSystem pkgs.system (psArgs: psArgs.config.packages.${name}))
|
||
|
];
|
||
|
};
|
||
|
}
|