about summary refs log tree commit diff stats
path: root/home-manager/config/lf/commands/scripts/trash
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2023-05-28 22:10:24 +0200
committerSoispha <soispha@vhack.eu>2023-05-28 22:10:24 +0200
commite5af81a5f9d9d3a2af0d3e970815e3c73beb0840 (patch)
treea8acf6adde5c6f509bf523c28d4243869a3d1107 /home-manager/config/lf/commands/scripts/trash
parentFix(bootstrap): Quote scripts (diff)
downloadnixos-config-e5af81a5f9d9d3a2af0d3e970815e3c73beb0840.tar.gz
nixos-config-e5af81a5f9d9d3a2af0d3e970815e3c73beb0840.zip
Fix(hm/conf/lf/cmds): Rework some of them
Diffstat (limited to 'home-manager/config/lf/commands/scripts/trash')
-rwxr-xr-xhome-manager/config/lf/commands/scripts/trash15
1 files changed, 10 insertions, 5 deletions
diff --git a/home-manager/config/lf/commands/scripts/trash b/home-manager/config/lf/commands/scripts/trash
index e3a5810b..c666b5eb 100755
--- a/home-manager/config/lf/commands/scripts/trash
+++ b/home-manager/config/lf/commands/scripts/trash
@@ -6,16 +6,21 @@ SHELL_LIBRARY_VERSION="1.1.3" . %SHELL_LIBRARY_PATH
 trash_output=$(mktmp);
 expected_error_output=$(mktmp);
 
-# try trashy first
-nix run nixpkgs#trashy -- put "$fx" 2> $trash_output;
+while read -r file; do
+    set -- "$@" "$file"
+done < "$(tmp "echo '$fx'")"
 
-cat << EOF > $expected_error_output;
+# TODO why are we using trashy at all, when trash-cli can do everything?
+# try trashy first, trough nix because both trashy and trash-cli provide a trash command, which conflicts
+nix run nixpkgs#trashy -- put "$@" 2> "$trash_output";
+
+cat << EOF > "$expected_error_output";
 error: Error during a \`trash\` operation: Unknown { description: "Path: '\"/.Trash-1000\"'. Message: Permission denied (os error 13)" }
 EOF
 
-if [ "$(cat $expected_error_output)" = "$(cat $trash_output)" ];then
+if [ "$(cat "$expected_error_output")" = "$(cat "$trash_output")" ];then
     warning "Deleting with trash-cli to the /.Trash folder";
     # this file could not be trashed because it is on the tempfs volume, trash-cli can do this this
-    printf "%s" "$fx" | tr '\n' ' ' | xargs trash-put;
+    trash-put "$@";
 fi
 # vim: ft=sh