Compare commits

...
Sign in to create a new pull request.

4 commits

Author SHA1 Message Date
c80ebf9355 Add datepath script
All checks were successful
/ check (push) Successful in 1m53s
Signed-off-by: Oliver Davies <oliver@oliverdavies.uk>
2025-09-24 23:40:15 +01:00
4f53f5de75 Add ptest to run and watch PHP tests
All checks were successful
/ check (push) Successful in 1m37s
Signed-off-by: Oliver Davies <oliver@oliverdavies.uk>
2025-09-24 02:08:26 +01:00
a74ee06ec3 Create onchange script
Some checks are pending
/ check (push) Waiting to run
Signed-off-by: Oliver Davies <oliver@oliverdavies.uk>
2025-09-24 01:35:51 +01:00
4b871d332e Refactor
Some checks are pending
/ check (push) Waiting to run
Signed-off-by: Oliver Davies <oliver@oliverdavies.uk>
2025-09-23 12:31:56 +01:00
4 changed files with 104 additions and 3 deletions

View file

@ -0,0 +1,26 @@
{ withSystem, ... }:
let
name = "datepath";
in
{
perSystem =
{ pkgs, ... }:
{
packages.${name} = pkgs.writeShellApplication {
inherit name;
runtimeInputs = with pkgs; [ coreutils ];
text = ''date "+%4Y/%m/%d" "-d ''${*:-now}"'';
};
};
flake.modules.homeManager.base =
{ pkgs, ... }:
{
home.packages = [
(withSystem pkgs.system (psArgs: psArgs.config.packages.${name}))
];
};
}

View file

@ -0,0 +1,35 @@
{ withSystem, ... }:
let
name = "onchange";
in
{
perSystem =
{ pkgs, ... }:
with pkgs;
{
packages.${name} = writeShellApplication {
inherit name;
runtimeInputs = [
coreutils
entr
];
text = ''
PATTERN="$1"
shift 1
find . -path "$PATTERN" -type f | entr -cs "$@"
'';
};
};
flake.modules.homeManager.base =
{ pkgs, ... }:
{
home.packages = [
(withSystem pkgs.system (psArgs: psArgs.config.packages.${name}))
];
};
}

42
modules/scripts/ptest.nix Normal file
View file

@ -0,0 +1,42 @@
{ 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}))
];
};
}

View file

@ -7,9 +7,7 @@ pkgs.writeShellApplication {
cat > "$1" << EOF
#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail
set -euo pipefail
EOF