This commit is contained in:
2025-10-13 18:40:20 -05:00
parent ba38794ef4
commit 1d1a13d9ce
3 changed files with 91 additions and 27 deletions

View 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
}}
'';
};
};
}

View File

@@ -25,6 +25,7 @@
statusline.lualine.enable = true; statusline.lualine.enable = true;
telescope.enable = true; telescope.enable = true;
autocomplete.nvim-cmp.enable = true; autocomplete.nvim-cmp.enable = true;
autopairs.nvim-autopairs.enable = true;
keymaps = [ keymaps = [
# visual line movement (insert mode) # visual line movement (insert mode)
@@ -171,8 +172,8 @@
enable = true; enable = true;
format = { format = {
enable = true; enable = true;
#type = "alejandra"; type = "alejandra";
type = "nixfmt"; #type = "nixfmt";
}; };
}; };

View File

@@ -4,6 +4,7 @@
imports = [ imports = [
./dots/neovim ./dots/neovim
./dots/lf
]; ];
# general config # general config
@@ -36,31 +37,6 @@
recursive = true; recursive = true;
}; };
# setup neovim
programs.neovim = {
enable = true;
};
# link dotfiles
xdg.configFile."nvim" = {
source = config.lib.file.mkOutOfStoreSymlink "/home/blake/.nix/users/blake/dotfiles/nvim";
recursive = true;
};
# setup lf
programs.lf = {
enable = false;
};
# link dotfiles
xdg.configFile."lf" = {
source = config.lib.file.mkOutOfStoreSymlink "/home/blake/.nix/users/blake/dotfiles/lf";
recursive = true;
};
xdg.configFile."ctpv" = {
source = config.lib.file.mkOutOfStoreSymlink "/home/blake/.nix/users/blake/dotfiles/ctpv";
recursive = true;
};
programs.gpg = { programs.gpg = {
enable = true; enable = true;
}; };