🚧 (homes/jo) add basic nushell configuration

This commit is contained in:
Jo 2025-01-31 01:09:10 +01:00
parent a9726ee734
commit c5283fe60b

View file

@ -1,9 +1,7 @@
{ {
lib,
pkgs, pkgs,
namespace,
... ...
}: with lib; with lib.${namespace}; }:
{ {
puzzlevision = { puzzlevision = {
themes.catppuccin = { themes.catppuccin = {
@ -24,6 +22,60 @@
packages = []; packages = [];
}; };
programs = {
nushell = {
enable = true;
# for editing directly to config.nu
extraConfig = ''
let carapace_completer = {|spans|
carapace $spans.0 nushell $spans | from json
}
$env.config = {
show_banner: false,
completions: {
case_sensitive: false # case-sensitive completions
quick: true # set to false to prevent auto-selecting completions
partial: true # set to false to prevent partial filling of the prompt
algorithm: "fuzzy" # prefix or fuzzy
external: {
# set to false to prevent nushell looking into $env.PATH to find more suggestions
enable: true
# set to lower can improve completion performance at the cost of omitting some options
max_results: 100
completer: $carapace_completer # check 'carapace_completer'
}
}
}
$env.PATH = ($env.PATH |
split row (char esep) |
prepend /home/myuser/.apps |
append /usr/bin/env
)
'';
shellAliases = {
vi = "hx";
vim = "hx";
nano = "hx";
};
};
carapace.enable = true;
carapace.enableNushellIntegration = true;
starship = {
enable = true;
settings = {
add_newline = true;
character = {
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";
};
};
};
};
# TODO: look at git-sync for syncing stuff like obsidian vaults. # TODO: look at git-sync for syncing stuff like obsidian vaults.
programs.git-credential-oauth.enable = true; programs.git-credential-oauth.enable = true;
@ -45,17 +97,16 @@
avra avra
avrdude avrdude
jetbrains.phpstorm jetbrains.phpstorm
jetbrains-toolbox
git git
nodejs_22
bun bun
devenv devenv
python39 python39
poetry nixd
nil nil
zed-editor zed-editor
bruno bruno
deno deno
carapace
### Work ### Work
teams-for-linux teams-for-linux