1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 10:11:08 +01:00
Files
niveum/packages/scripts/dirmir.nix
2019-11-09 16:33:59 +01:00

28 lines
661 B
Nix

{ writers, coreutils, findutils }:
let name = "dirmir";
in writers.writeDashBin name ''
export PATH=$PATH:${coreutils}/bin:${findutils}/bin
SOURCE="$1"
TARGET="$2"
if [ ! -d "$SOURCE" ] || [ $# -ne 2 ]; then
echo >/dev/stderr "Usage: ${name} SOURCE TARGET"
exit 1
fi
if [ -e "$TARGET" ]; then
echo >/dev/stderr "$TARGET" already exists. Please use a different name.
exit 1
fi
for entry in $(find "$SOURCE"); do
if [ -d "$entry" ]; then
mkdir -p "$TARGET/$entry"
else
# create a file with the same permissions as $entry
install -m "$(stat -c %a "$entry")" /dev/null "$TARGET/$entry"
fi
done
''