mirror of
https://github.com/kmein/niveum
synced 2026-03-16 18:21:07 +01:00
28 lines
661 B
Nix
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
|
|
''
|