From f236f97981704b28852907cc5fcb6b2fe8be088d Mon Sep 17 00:00:00 2001 From: Nate Graham Date: Tue, 31 Mar 2026 09:34:25 -0600 Subject: [PATCH] Configure cp and rsync to preserve metadata by default Metadata is data; losing it by accident when using common command-line tools is data loss. Let's harden against this by aliasing `mv` and `rsync` to versions of themselves with metadata-preserving arguments invoked by default, similar to what we do for `grep` to enable colorized output. --- .../zsh/plugins/kde-linux-default/kde-linux-default-zshrc.zsh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mkosi.extra/usr/share/zsh/plugins/kde-linux-default/kde-linux-default-zshrc.zsh b/mkosi.extra/usr/share/zsh/plugins/kde-linux-default/kde-linux-default-zshrc.zsh index a455bbd..e1fad26 100644 --- a/mkosi.extra/usr/share/zsh/plugins/kde-linux-default/kde-linux-default-zshrc.zsh +++ b/mkosi.extra/usr/share/zsh/plugins/kde-linux-default/kde-linux-default-zshrc.zsh @@ -83,6 +83,10 @@ zstyle ':completion:*' menu no alias ls='ls --color=auto' alias grep='grep --color=auto' +# Preserve metadata by default; match the behavior of `mv`. +alias cp='cp --preserve=all' +alias rsync='rsync --perms --xattrs --acls --times --atimes --crtimes' + # Add various useful aliases. alias la='ls -A' alias ll='ls -l'