added a few tools, including carapace completer.

This commit is contained in:
Gabe Venberg 2024-03-20 16:58:03 -05:00
parent cef27f07ce
commit 2069707238
6 changed files with 55 additions and 50 deletions

View file

@ -14,6 +14,8 @@
home.packages = with pkgs; [
zellij
sshfs
just
espeak
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
@ -36,7 +38,6 @@
home.shellAliases = {
say = "espeak -p 10 -s 150 -a 200";
tmux = "tmux -u";
pdfmk = "latexmk -lualatex -pvc";
doc2pdf = "loffice --convert-to-pdf --headless *.docx";
sshmnt = "sshfs -o idmap=user,compression=no,reconnect,follow_symlinks,dir_cache=yes,ServerAliveInterval=15";
@ -50,11 +51,16 @@
./nvim/nvim.nix
];
programs.yazi.enable = true;
programs.zoxide.enable = true;
programs.fzf.enable = true;
programs = {
yazi.enable = true;
zoxide.enable = true;
fzf.enable = true;
ripgrep.enable = true;
bat.enable = true;
tealdeer.enable = true;
btop.enable = true;
carapace.enable = true;
};
services.ssh-agent.enable = true;

View file

@ -3,6 +3,3 @@ switch:
bootstrap:
nix run --extra-experimental-features "nix-command flakes" --no-write-lock-file github:nix-community/home-manager/ -- --extra-experimental-features "nix-command flakes" --flake . switch
check:
home-manager --flake . build

View file

@ -136,24 +136,24 @@ let light_theme = {
shape_vardecl: purple
}
let fish_completer = {|spans|
fish --command $'complete "--do-complete=($spans | str join " ")"'
| $"value(char tab)description(char newline)" + $in
| from tsv --flexible --no-infer
}
let carapace_completer = {|spans: list<string>|
carapace $spans.0 nushell ...$spans
| from json
| if ($in | default [] | where value =~ '^-.*ERR$' | is-empty) { $in } else { null }
}
let zoxide_completer = {|spans|
$spans | skip 1 | zoxide query -l $in | lines | where {|x| $x != $env.PWD}
}
# This completer will use carapace by default
let external_completer = $fish_completer
# let fish_completer = {|spans|
# fish --command $'complete "--do-complete=($spans | str join " ")"'
# | $"value(char tab)description(char newline)" + $in
# | from tsv --flexible --no-infer
# }
#
# let carapace_completer = {|spans: list<string>|
# carapace $spans.0 nushell ...$spans
# | from json
# | if ($in | default [] | where value =~ '^-.*ERR$' | is-empty) { $in } else { null }
# }
#
# let zoxide_completer = {|spans|
# $spans | skip 1 | zoxide query -l $in | lines | where {|x| $x != $env.PWD}
# }
#
# # This completer will use carapace by default
let external_completer = null
# The default config record. This is where much of your global configuration is setup.
$env.config = {
show_banner: true # true or false to enable or disable the welcome banner at startup

View file

@ -17,4 +17,5 @@
programs.yazi.enableNushellIntegration = true;
programs.zoxide.enableNushellIntegration = true;
programs.starship.enableNushellIntegration = true;
programs.carapace.enableNushellIntegration = true;
}

View file

@ -4,32 +4,32 @@
...
}: {
programs.nixvim = {
plugins.lsp={
enable=true;
servers={
bashls.enable=true;
clangd.enable=true;
lua-ls.enable=true;
nil_ls.enable=true;
nushell.enable=true;
pyright.enable=true;
ruff-lsp.enable=true;
rust-analyzer={
enable=true;
installCargo=true;
installRustc=true;
plugins.lsp = {
enable = true;
servers = {
bashls.enable = true;
clangd.enable = true;
lua-ls.enable = true;
nil_ls.enable = true;
nushell.enable = true;
pyright.enable = true;
ruff-lsp.enable = true;
rust-analyzer = {
enable = true;
installCargo = true;
installRustc = true;
};
texlab.enable=true;
typst-lsp.enable=true;
taplo.enable=true;
yamlls.enable=true;
marksman.enable=true;
jsonls.enable=true;
hls.enable=true;
texlab.enable = true;
typst-lsp.enable = true;
taplo.enable = true;
yamlls.enable = true;
marksman.enable = true;
jsonls.enable = true;
hls.enable = true;
};
};
plugins.cmp.settings.sources=[
{name="nvim_lsp";}
plugins.cmp.settings.sources = [
{name = "nvim_lsp";}
];
plugins.which-key.registrations = {
"<leader>l" = "+lsp";

View file

@ -7,6 +7,7 @@
programs.fzf.enableZshIntegration = true;
programs.zoxide.enableZshIntegration = true;
programs.yazi.enableZshIntegration = true;
programs.carapace.enableZshIntegration = true;
programs.zsh = {
enable = true;
enableCompletion = true;