mirror of
https://github.com/Jokiller230/puzzlevision.git
synced 2025-04-10 22:03:21 +02:00
69 lines
1.7 KiB
Nix
69 lines
1.7 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
config,
|
|
namespace,
|
|
...
|
|
}: let
|
|
inherit (lib) mkEnableOption mkIf;
|
|
cfg = config.${namespace}.apps.nushell;
|
|
in {
|
|
options.${namespace}.apps.nushell = {
|
|
enable = mkEnableOption "Whether to enable nushell customization.";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
programs = {
|
|
nushell = {
|
|
enable = true;
|
|
|
|
extraConfig = ''
|
|
let carapace_completer = {|spans|
|
|
carapace $spans.0 nushell ...$spans | from json
|
|
}
|
|
|
|
$env.config = {
|
|
completions: {
|
|
case_sensitive: false # case-sensitive completions
|
|
quick: true # auto complete selections
|
|
partial: true # partial filling of prompts
|
|
algorithm: "fuzzy" # prefix or fuzzy
|
|
external: {
|
|
# discover completions using $env.PATH
|
|
enable: true
|
|
# lowering can improve completion performance at the cost of omitting some options
|
|
max_results: 200
|
|
completer: $carapace_completer # check 'carapace_completer'
|
|
}
|
|
}
|
|
}
|
|
|
|
$env.PATH = ($env.PATH |
|
|
split row (char esep) |
|
|
prepend /run/wrappers/bin |
|
|
prepend /home/jo/.nix-profile/bin |
|
|
append /usr/bin/env/run/wrappers/bin
|
|
)
|
|
'';
|
|
};
|
|
|
|
carapace.enable = true;
|
|
carapace.enableNushellIntegration = true;
|
|
|
|
starship = {
|
|
enable = true;
|
|
settings = {
|
|
add_newline = true;
|
|
character = {
|
|
success_symbol = "[➜](bold green)";
|
|
error_symbol = "[➜](bold red)";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
carapace
|
|
];
|
|
};
|
|
}
|