From 91b31d6d304772f3f0feac7438f1e5f3246c107b Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Wed, 6 Jul 2022 06:37:32 +0800 Subject: [PATCH] profiles/dev: update dev.shells to add Bash as preferred shell --- modules/home-manager/profiles/dev.nix | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/modules/home-manager/profiles/dev.nix b/modules/home-manager/profiles/dev.nix index 5202e1b3..b69a9c8c 100644 --- a/modules/home-manager/profiles/dev.nix +++ b/modules/home-manager/profiles/dev.nix @@ -32,6 +32,47 @@ in { }) (lib.mkIf cfg.shell.enable { + programs.bash = { + enable = true; + historyControl = [ "ignoredups" "ignorespace" ]; + historyIgnore = [ + "cd" + "exit" + "lf" + "ls" + "nvim" + ]; + bashrcExtra = '' + function f() { + dir=''${1:-$PWD} + dest=$(${pkgs.fd}/bin/fd --type directory --hidden --ignore-vcs --base-directory "$dir" \ + | ${pkgs.fzf}/bin/fzf --prompt "Go to directory ") + destPrime=$(${pkgs.coreutils}/bin/realpath --canonicalize-existing --logical "$dir/$dest") + + cd "$destPrime" + } + + function ff() { + dir=''${1:-$PWD} + dest=$(${pkgs.fd}/bin/fd --hidden --ignore-vcs --base-directory "$dir" \ + | ${pkgs.fzf}/bin/fzf --prompt "Open file ") + destPrime=$(${pkgs.coreutils}/bin/realpath --canonicalize-existing --logical "$dir/$dest") + + if [ -d "$destPrime" ]; then + cd "$destPrime"; + else + ${pkgs.xdg-utils}/bin/xdg-open "$destPrime"; + fi + } + + function fm() { + ${pkgs.man}/bin/man -k . \ + | ${pkgs.fzf}/bin/fzf --multi --prompt "Open manpage(s) " \ + | ${pkgs.gawk}/bin/awk '{ print $1 "." gensub(/[()]/, "", "g", $2) }' \ + | ${pkgs.findutils}/bin/xargs man + } + ''; + }; programs.atuin.enable = true; programs.direnv = { enable = true;