blob: f4878c496c6da0828814683010ed84310f744079 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#! /usr/bin/env dash
# shellcheck source=/dev/null
SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
# shellcheck disable=SC2269
f="$f"
# shellcheck disable=SC2269
fx="$fx"
# shellcheck disable=SC2269
fs="$fs"
# shellcheck disable=SC2269
id="$id"
trash_output=$(mktmp)
expected_error_output=$(mktmp)
while read -r file; do
set -- "$@" "$file"
done <"$(tmp echo "$fx")"
# TODO: why are we using trashy at all, when trash-cli can do everything?
#
# try trashy first, through nix because both trashy and trash-cli provide a trash command, which conflicts
nix run nixpkgs#trashy -- put "$@" 2>"$trash_output"
# FIXME: Find a way, that does not depend on parsing an error message <2023-08-29>
cat <<EOF >"$expected_error_output"
[1;31merror:[0m 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
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
trash-put "$@"
fi
# vim: ft=sh
|