#!/bin/fish
function __target_base
set dirs '/var/tmp' '/tmp'
set mnt_types 'zram' 'tmpfs'
for dir in $dirs
for mnt in $mnt_types
if mount | grep $dir | grep -q $mnt
echo $dir
return 0
end
end
end
echo '/tmp'
return 0
end
function __setup_link
set source $argv[1]
set target_base (__target_base)
if not test -L "$source"
or not test -d "$source"
rm -rf "$source"
set target (mktemp -p "$target_base" -d "$USER.XXXXXXXXX")
ln -s "$target" "$source"
echo "$source redirected to $target."
else
echo "$source already created and is already a symlink."
end
end
set START (git rev-parse --show-toplevel)
__setup_link "$START/target"