nix-config/packages/dev-commit.nix
Oliver Davies 19359b1805
All checks were successful
/ check (push) Successful in 1m45s
dev-commit: push the changes after committing
2025-07-31 12:04:36 +01:00

48 lines
973 B
Nix

{ pkgs, ... }:
pkgs.writeShellApplication {
name = "dev-commit";
runtimeInputs = with pkgs; [
coreutils
git
logger
openssh
];
text = ''
IFS=':' read -ra repos <<< "$DEV_COMMIT_PATHS"
for repo in "''${repos[@]}"; do
logger "Processing repository: $repo"
pushd "$repo" > /dev/null 2>&1
if [[ -n $(git status --porcelain) ]]; then
logger "Changes detected in $repo"
git status --short | while read -r line; do
logger "Changed file: $line"
done
git add .
if git commit -m "Automated dev commit"; then
logger "Commit successful in $repo"
if git push; then
logger "Push successful in $repo"
else
logger "Push failed in $repo"
fi
else
logger "No changes to commit in $repo"
fi
else
logger "No changes in $repo"
fi
popd > /dev/null 2>&1
done
'';
}