add lf
This commit is contained in:
87
users/blake/dots/lf/default.nix
Normal file
87
users/blake/dots/lf/default.nix
Normal file
@@ -0,0 +1,87 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.lf = {
|
||||
|
||||
settings = {
|
||||
mouse = true;
|
||||
ignorecase = true;
|
||||
};
|
||||
|
||||
keybindings = {
|
||||
ad = "mkdir";
|
||||
af = "mkfile";
|
||||
ab = "mkbak";
|
||||
ae = "extract";
|
||||
aa = "archive";
|
||||
gt = "cd ~/.local/share/Trash/files";
|
||||
};
|
||||
|
||||
extraConfig = ''
|
||||
set previewer ctpv
|
||||
set cleaner ctpvclear
|
||||
&ctpv -s $id
|
||||
&ctpvquit $id
|
||||
[ = "half-up";
|
||||
] = "half-down";
|
||||
<delete> = "trash";
|
||||
<s-delete> = "$trash restore";
|
||||
'';
|
||||
|
||||
commands = {
|
||||
extract = ''
|
||||
extract %{{
|
||||
set -f
|
||||
case $f in
|
||||
*.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;;
|
||||
*.tar.gz|*.tgz) tar xzvf $f;;
|
||||
*.tar.xz|*.txz) tar xJvf $f;;
|
||||
*.zip) unzip $f;;
|
||||
*.rar) unrar x $f;;
|
||||
*.7z) 7z x $f;;
|
||||
esac
|
||||
}}
|
||||
'';
|
||||
|
||||
# move files to trash
|
||||
trash = ''%IFS="$(printf '\n\t')"; trash put $fx'';
|
||||
# make a directory
|
||||
mkdir = ''
|
||||
mkdir %{{
|
||||
echo "enter directory name: " ; read dir
|
||||
if [ -n "$dir" ]; then
|
||||
mkdir -p "$dir" && echo "'$dir' created."
|
||||
else
|
||||
echo "no dir name provided"
|
||||
fi
|
||||
}}
|
||||
'';
|
||||
# make a file
|
||||
mkfile = ''
|
||||
cmd mkfile %{{
|
||||
echo "enter file name: " ; read file
|
||||
if [ -n "$file" ]; then
|
||||
touch "$file" && echo "'$file' created."
|
||||
else
|
||||
echo "no file name provided"
|
||||
fi
|
||||
}}
|
||||
'';
|
||||
# make backup
|
||||
mkbak = ''
|
||||
mkbak %{{
|
||||
for x in $fx; do
|
||||
cp -r $x $x.bak
|
||||
done
|
||||
}}
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user