nix-config/packages/dev-commit.nix

42 lines
828 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"
else
logger "No changes to commit in $repo"
fi
else
logger "No changes in $repo"
fi
popd > /dev/null 2>&1
done
'';
}