43 lines
1.4 KiB
Nix
43 lines
1.4 KiB
Nix
{ config, ... }: {
|
|
imports = [ ./fish/env.nix ];
|
|
|
|
home.file.".config/nushell/nu".source = ../../shell/nu;
|
|
programs = {
|
|
nushell = {
|
|
enable = true;
|
|
shellAliases = { vi = "nvim"; };
|
|
environmentVariables =
|
|
let env = import ./fish/env.nix { inherit config; };
|
|
in env.home.sessionVariables;
|
|
extraConfig = ''
|
|
source ~/.config/nushell/nu/config.nu
|
|
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) |
|
|
append /usr/bin/env | append $"($env.HOME)/.local/share/pnpm"
|
|
)
|
|
'';
|
|
};
|
|
carapace.enable = true;
|
|
carapace.enableNushellIntegration = true;
|
|
};
|
|
}
|