Commit graph

16 commits

Author SHA1 Message Date
dc71f747da
nu: Copy basic sh aliases
Held back a little by the issue that you can't really set aliases
conditionally (yet?) in nushell, which is kind of fundamental to my
zsh/sh alias setup. If a program exists, we add some nice aliases -- if
not, we simply degrade gracefully and don't add anything.

PR to track issue:
https://github.com/nushell/nushell/issues/5068
2025-11-30 23:05:15 +01:00
bfecbdcd59
nu: Add space prefix to keybind commands to prevent history adding
To prevent adding any of the keyboard-binding driven commands to the
user's command history, we simply prefix all of them with a single
space.
2025-11-14 14:15:04 +01:00
b305be8ad0
nu: Add partial auto suggestion completion
The suggested history completion on the reedline (i.e. fish-like
autosuggestion) can be fully completed with the `l` key in vi cmd mode.

This change adds the ability to complete the suggestion partially by
completing the current word using `e`. If no history suggestion exists
it moves to the end of the current word as usual.

This mimics the partial completion I have set up in zsh with the help of
the `zsh-autosuggestions` plugin.
2025-11-14 14:15:04 +01:00
26e8cc3ccc
nu: Add job control shortcuts
Using <c-z> when a process is running backgrounds it (default behavior)
using the new nushell job control system (since v0.103).
This change also lets you re-foreground the backgrounded program with
the same <c-z> key mapping.

Additionally we add the `fg` alias which does the same and thus mimics
the fg command of other shells like zsh.
2025-11-14 14:15:03 +01:00
37cc1a3d83
nu: Enable transient prompt
Enabled transient prompt for nushell so we only display the line
character and attempt to display command durations for past prompts.

Not sure if command duration is working correctly. If not, might have to
revert this change.
2025-11-14 14:15:03 +01:00
ae5470a5d8
nu: Add fuzzy tab completion, remove nvim hardcoding
Removed the buffer editor hardcoding to 'nvim', should use the EDITOR
env var instead.

Added the (currently undocumented?) config option to enable fuzzy
completion matching - essentially enables exactly the behavior the
'fzf-tab-complete' plugin does for zsh, only natively in the nushell
program.

See: https://github.com/nushell/nushell/issues/1275#issuecomment-2964573062
2025-11-14 14:15:02 +01:00
51fd5b51c7
nu: Remove startup banner
Now that we can see at a glance which shell we are running with a
starship shell indicator, we don't need the huge nushell startup banner
anymore.
2025-11-14 10:27:01 +01:00
c1eb686cd3
nu: Add sudo toggling key
Toggle sudo prefix for command line with <alt-s>. Not sure if I will
keep this binding in the long run but it is a good example of command
execution using nushell through a key binding.

From: https://github.com/nushell/nushell/discussions/16043
2025-11-14 10:27:00 +01:00
56916f90d1
nu: Add dot-repeat key mapping
We have to manually enable the <a-.> keybinding for nushell, which
emulates the 'insert last token of last command' functionality of e.g.
zsh.
2025-11-14 10:26:59 +01:00
fa7e740249
terminal: Add fzf file insertion and zoxide cd key binds
The following is added to all three shells bash, zsh, nushell:

Pressing c-t at any time lets you insert a file/dir at the current
cursor location using fzf. Same for 'T' in vicmd mode.

Pressing alt-c at any time lets you jump to that directory using zoxide,
with the zle editor content intact. Same for 'C' in vicmd mode.

Zsh implementation from: https://github.com/ajeetdsouza/zoxide/issues/357
Bash implementation: https://github.com/ajeetdsouza/zoxide/issues/516

Nushell implementation taken from: https://github.com/junegunn/fzf/issues/4122

TODO: Nushell fzf mapping has one problem in that it does not quote the
selected file in any way. So any file with e.g. a space in it will have
to be manually fixed afterwards.
2025-10-13 11:26:22 +02:00
4b65069436
terminal: Add carapace completions to all shells
Bash, nushell and zsh all make use of carapace completions by default.
2025-09-05 09:11:07 +02:00
2e9701ea26
services: Fix missing environment variables for user services
We add an additional 'core' user service (i.e. one that gets loaded
before all others by turnstile) which populates the TURNSTILE_ENV_DIR
with all manner of custom set env vars that are important for other
applications.

Most importantly, this sets up the XDG directory compliance for
applications either managed by turnstile or applications started through
turnstile on my system. So, for example `pass` knows to search for its
database in `XDG_DATA_HOME` and river knows to search for binaries in a
PATH which has been prefixed with my custom user binary location.
2025-03-19 21:30:00 +01:00
22af0cf46e
nu: Add md and mcd aliases 2025-03-15 20:08:49 +01:00
ab5db2877a
nu: Start setting up new nushell config
Remove most of the old cruft that was left over from nushell version
0.87 - we are now on version 0.102!

Many of the old options are actually not helpful anymore so let's just
get rid of them entirely (never configured the shell for me too much).
Also there was a lot of 'default' commented code which made it harder to
keep an overview rather than help.

For now just set up a minimal shell experience with vi editing mode, and
the trifecta of startship prompt, zoxide movement and atuin history
enabled.
2025-03-15 20:08:48 +01:00
97114d74fb
terminal: Add unified history for shells
Added atuin for nice shell history. Trying it out for now
but seems non-intrusive enough that I will probably keep
it for a while even if I don't use it.
2023-12-30 21:33:19 +01:00
546195ad56
terminal: Switch to starship prompt
Switched terminal environments (bash,zsh,nushell) to starship
prompt (from pure-prompt/no prompt). Is mimicking the pure-
prompt however, so no big change visible. Needs additional
package on the system, which is added to the packages.

Some remaining issues with nushell (vi prompt indicator).
2023-12-30 21:33:16 +01:00