diff --git a/hosts/copland.ulu.nix b/hosts/copland.ulu.nix index 52937da..f96d1da 100644 --- a/hosts/copland.ulu.nix +++ b/hosts/copland.ulu.nix @@ -31,6 +31,7 @@ in config.flake.homeModules.home-base config.flake.homeModules.home-ghostty config.flake.homeModules.home-nushell + config.flake.homeModules.home-nushell-bash-compat config.flake.homeModules.home-nushell-colors config.flake.homeModules.home-nushell-completions config.flake.homeModules.home-nushell-prompt diff --git a/hosts/sohryu-darwin.ulu.nix b/hosts/sohryu-darwin.ulu.nix index 66374bc..321cb15 100644 --- a/hosts/sohryu-darwin.ulu.nix +++ b/hosts/sohryu-darwin.ulu.nix @@ -29,6 +29,7 @@ in config.flake.homeModules.home-base config.flake.homeModules.home-ghostty config.flake.homeModules.home-nushell + config.flake.homeModules.home-nushell-bash-compat config.flake.homeModules.home-nushell-colors config.flake.homeModules.home-nushell-completions config.flake.homeModules.home-nushell-prompt diff --git a/modules/home/home-nushell-bash-compat.ulu.nix b/modules/home/home-nushell-bash-compat.ulu.nix new file mode 100644 index 0000000..ea05d80 --- /dev/null +++ b/modules/home/home-nushell-bash-compat.ulu.nix @@ -0,0 +1,38 @@ +{ ... }: +{ + flake.homeModules.home-nushell-bash-compat = + { ... }: + { + programs.nushell.extraConfig = '' + $env.DIRSTACK = [] + def --env pushd [path: path] { + $env.DIRSTACK = ($env.DIRSTACK | prepend $env.PWD) + cd $path + } + + def --env popd [] { + if ($env.DIRSTACK | is-empty) { + print $"(ansi red)popd: directory stack empty(ansi reset)" + } else { + let top = ($env.DIRSTACK | first) + $env.DIRSTACK = ($env.DIRSTACK | skip 1) + cd $top + } + } + + def dirs [] { + [$env.PWD] | append $env.DIRSTACK + } + + def bashc [command: string] { + ^bash -lc $command + } + + def rerun [] { + let last = (history | last | get command) + print $"(ansi grey)$ ($last)(ansi reset)" + ^bash -lc $last + } + ''; + }; +} diff --git a/modules/home/home-zsh.ulu.nix b/modules/home/home-zsh.ulu.nix index 0436521..548f628 100644 --- a/modules/home/home-zsh.ulu.nix +++ b/modules/home/home-zsh.ulu.nix @@ -3,7 +3,6 @@ flake.homeModules.home-zsh = { ... }: { - # TODO nu programs.zsh = { enable = true; enableCompletion = true; @@ -18,7 +17,6 @@ alias la='eza -a --icons --group-directories-first' alias lt='eza --tree --level=2 --icons' - alias cd='z' alias cat='bat' alias grep='grep --color=auto' alias df='df -h'