46 lines
1.3 KiB
Nix
46 lines
1.3 KiB
Nix
{ pkgs, ... }:
|
|
let
|
|
mkKeymap = desc: on: run: { inherit desc on run; };
|
|
in
|
|
{
|
|
# REF: https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/keymap.toml
|
|
file = (pkgs.formats.toml { }).generate "YaziKeymapConfig" {
|
|
manager = {
|
|
prepend_keymap = [
|
|
(mkKeymap "Delete" "d" "remove --permanently")
|
|
(mkKeymap "Delete no questions asked" "D" "remove --permanently --force")
|
|
(mkKeymap "Spawn shell here" "<Enter>" ''shell "SHELL_NAME=yazi $SHELL" --block --confirm'')
|
|
(mkKeymap "Open interactively" "o" "open --interactive")
|
|
(mkKeymap "Open default" "O" "open")
|
|
(mkKeymap "Rename completely" "R" "rename --empty all")
|
|
# I wanna die thanks to nixfmt.
|
|
(mkKeymap "Go to storage" [
|
|
"g"
|
|
"s"
|
|
] "cd /storage")
|
|
(mkKeymap "Go to tmp" [
|
|
"g"
|
|
"t"
|
|
] "cd ~/tmp")
|
|
(mkKeymap "Go to system tmp" [
|
|
"g"
|
|
"T"
|
|
] "cd /tmp")
|
|
(mkKeymap "Go to projects" [
|
|
"g"
|
|
"p"
|
|
] "cd ~/project")
|
|
# Yazi devs are... special.
|
|
(mkKeymap "Go to downloads" [
|
|
"g"
|
|
"d"
|
|
] "cd $XDG_DOWNLOAD_DIR")
|
|
(mkKeymap "Go to configs" [
|
|
"g"
|
|
"c"
|
|
] "cd $XDG_CONFIG_HOME")
|
|
];
|
|
};
|
|
};
|
|
}
|