diff --git a/nix/configuration/roles/base/default.nix b/nix/configuration/roles/base/default.nix index e3af336d..f512352a 100644 --- a/nix/configuration/roles/base/default.nix +++ b/nix/configuration/roles/base/default.nix @@ -19,6 +19,7 @@ let patchScriptBin "git_find_merged_branches" (builtins.readFile ./files/git_find_merged_branches.bash) ); git_fix_author = (patchScriptBin "git_fix_author" (builtins.readFile ./files/git_fix_author.bash)); + rsync_clone = (patchScriptBin "rsync_clone" (builtins.readFile ./files/rsync_clone.bash)); alias_rga = pkgs.writeShellScriptBin "rga" '' exec ${pkgs.ripgrep}/bin/rg -uuu "''${@}" ''; @@ -69,6 +70,7 @@ in inetutils # For whois git_find_merged_branches git_fix_author + rsync_clone ]; }; } diff --git a/nix/configuration/roles/base/files/rsync_clone.bash b/nix/configuration/roles/base/files/rsync_clone.bash new file mode 100644 index 00000000..c8daa3ae --- /dev/null +++ b/nix/configuration/roles/base/files/rsync_clone.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# +# Wrapper to set rsync flags for cloning a folder preserving attributes +set -euo pipefail +IFS=$'\n\t' +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +exec rsync -aHAXS "$@"