dots/home/modules/shell/config.nu

48 lines
1.3 KiB
Text

$env.TRANSIENT_PROMPT_COMMAND = { || "~> " }
if not ("ZELLIJ" in $env) {
zellij
exit
}
def rebuild [message?: string] {
cd /home/maxag/.nix-config
let commit_message = if $message != null {$message} else {"non important commit"}
try {
git pull
git add .
git commit -m $commit_message
git push
}
sudo nixos-rebuild switch --flake .
}
def --env fzf-cd [] {
let dir = (fd -t d -L . | fzf --reverse --height 40% --border rounded --preview=("eza --color=always --group-directories-first --icons --long {}") --preview-window=border-left)
if $dir != null and $dir != "" {
cd $dir
}
}
def --env fzf-edit [] {
let file = (fd -t f -L . | fzf --reverse --height 40% --border rounded --preview=("bat -p -P --color always {}") --preview-window=border-left)
if $file != null and $file != "" {
^$env.EDITOR $file
}
}
$env.config.keybindings = ($env.config.keybindings | append {
name: "fzf-cd"
modifier: "control"
keycode: "char_f"
mode: "emacs"
event: [{ send: "executehostcommand" cmd: 'fzf-cd' }]
})
$env.config.keybindings = ($env.config.keybindings | append {
name: "fzf-edit"
modifier: "control"
keycode: "char_e"
mode: "emacs"
event: [{ send: "executehostcommand" cmd: 'fzf-edit' }]
})