{pkgs, ...}: { home.packages = with pkgs; [ bat fzf fd eza most ]; home.sessionVariables = { EDITOR = "neovim"; PAGER = "most"; MANPAGER = "most"; MANROFFOPT = "-c"; }; programs = { bash.enable = true; fzf.enable = true; eza.enable = true; direnv = { enable = true; silent = true; nix-direnv.enable = true; }; nushell = { enable = true; settings = { show_banner = false; }; shellAliases = { cat = "bat -p -P"; system = "nvim /home/benag/.nix-config/flake.nix"; home = "nvim /home/benag/.nix-config/home/home.nix"; config = "nvim /home/benag/.nix-config/configuration/main/configuration.nix"; }; extraConfig = '' if "IN_NIX_SHELL" in $env == false { fastfetch } def c [] { clear fastfetch } def rebuild [message?: string] { cd /home/benag/.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 -H -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-nvim [] { let file = (fd -H -t f -L . | fzf --reverse --height 40% --border rounded --preview=("bat -p -P --color always {}") --preview-window=border-left) if $file != null and $file != "" { nvim $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-nvim" modifier: "control" keycode: "char_e" mode: "emacs" event: [ { send: "executehostcommand" cmd: 'fzf-nvim' } ] }) ''; }; }; }