feat(guz,apps,packages): untrack, small utility to remove metadata from files
This commit is contained in:
@@ -137,6 +137,8 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
davincify = pkgs.callPackage ./packages/davincify {};
|
davincify = pkgs.callPackage ./packages/davincify {};
|
||||||
|
untrack = pkgs.callPackage ./packages/untrack {};
|
||||||
|
|
||||||
neovim = inputs.neovim.packages.${pkgs.system}.default;
|
neovim = inputs.neovim.packages.${pkgs.system}.default;
|
||||||
|
|
||||||
devkit =
|
devkit =
|
||||||
|
|||||||
@@ -40,11 +40,13 @@
|
|||||||
|
|
||||||
# Media
|
# Media
|
||||||
ffmpeg
|
ffmpeg
|
||||||
|
exiftool
|
||||||
krita
|
krita
|
||||||
davinci-resolve
|
davinci-resolve
|
||||||
])
|
])
|
||||||
# Utils
|
# Utils
|
||||||
++ (with self.packages.${pkgs.system}; [
|
++ (with self.packages.${pkgs.system}; [
|
||||||
davincify
|
davincify
|
||||||
|
untrack
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|||||||
9
packages/untrack/default.nix
Normal file
9
packages/untrack/default.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "untrack" ''
|
||||||
|
function exitftool() { ${lib.getExe pkgs.exiftool} "$@"; }
|
||||||
|
${builtins.readFile ./untrack.sh}
|
||||||
|
''
|
||||||
25
packages/untrack/untrack.sh
Normal file
25
packages/untrack/untrack.sh
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
function rand_hex() {
|
||||||
|
local length="$1"
|
||||||
|
|
||||||
|
cat /dev/urandom | tr -cd 'a-f0-9' | head -c "$length"
|
||||||
|
}
|
||||||
|
|
||||||
|
# TODO: Support for directories
|
||||||
|
function untrack() {
|
||||||
|
local file="$1"
|
||||||
|
|
||||||
|
local filename="$(basename "$file")"
|
||||||
|
local ext="${filename##*.}"
|
||||||
|
local directory="$(dirname "$file")"
|
||||||
|
|
||||||
|
local output_file="$directory/$(rand_hex 6).$ext"
|
||||||
|
|
||||||
|
cp "$file" "$output_file"
|
||||||
|
|
||||||
|
exiftool \
|
||||||
|
-overwrite_original \
|
||||||
|
-all= \
|
||||||
|
"$output_file"
|
||||||
|
}
|
||||||
|
|
||||||
|
untrack "$1"
|
||||||
Reference in New Issue
Block a user