Enable Nushell and Carapace

Add nushell and some basic settings so that it works politely
Add carapace configuration to both nushell and Xonsh
This commit is contained in:
Greg Hellings
2025-06-11 12:35:01 -05:00
parent 507cc4cf37
commit 1efca98b9a
4 changed files with 125 additions and 75 deletions
+1
View File
@@ -6,6 +6,7 @@
./bash.nix
./direnv.nix
./git.nix
./nushell.nix
./ssh.nix
./vim
./xonsh.nix
+39
View File
@@ -0,0 +1,39 @@
{
config,
lib,
...
}:
{
programs = {
carapace = {
enable = true;
enableNushellIntegration = true;
};
nushell = {
enable = true;
environmentVariables = {
AWS_SHARED_CREDENTIALS_FILE = "/run/agenix/cache-credentials";
GOPATH = "${config.home.homeDirectory}/src/go";
GOBIN = "${config.home.homeDirectory}/src/bin";
LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN = "1";
SWORD_PATH = "${config.home.homeDirectory}/.sword/";
TIMEFORMAT = "%3Uu %3Ss %3lR %P%%";
VIRTUALENV_HOME = "${config.home.homeDirectory}/venv/";
};
extraConfig = ''
use std/util "path add"
path add ${config.home.homeDirectory}/src/bin
path add /opt/homebrew/bin
path add /run/current-system/sw/bin
path add ${config.home.homeDirectory}/.nix-profile/bin
'';
settings = {
buffer_editor = lib.getExe config.programs.nixvim.package;
};
};
starship = {
enable = true;
enableNushellIntegration = true;
};
};
}
+9 -1
View File
@@ -10,12 +10,19 @@
nvd
];
programs.xonsh = {
programs = {
carapace = {
enable = true;
};
xonsh = {
enable = true;
sessionVariables = {
# This is for pushing builds to my local S3 cache
AWS_SHARED_CREDENTIALS_FILE = "/run/agenix/cache-credentials";
CARAPACE_BRIDGES = "zsh,bash";
COMPLETIONS_CONFIRM = "True";
CLICOLOR = 1;
EDITOR = "nvim";
# vte_new_tab_cwd causes new Terminal tabs to open in the
@@ -93,4 +100,5 @@
" $NIX_LD = fp.read().strip()"
]);
};
};
}
+2
View File
@@ -129,3 +129,5 @@ import builtins
builtins.true = True
builtins.false = False
builtins.null = None
exec($(carapace _carapace xonsh))