carapace: build-time nushell config generation

This commit is contained in:
jaredmontoya 2025-03-21 20:15:27 +01:00 committed by Austin Horstman
parent 3722855a1c
commit dde05a0b10
2 changed files with 22 additions and 32 deletions

View file

@ -1,4 +1,4 @@
{ pkgs, config, ... }:
{ lib, pkgs, realPkgs, config, ... }:
{
programs = {
@ -6,17 +6,16 @@
nushell.enable = true;
};
_module.args.pkgs = lib.mkForce realPkgs;
nmt.script = let
configDir = if pkgs.stdenv.isDarwin && !config.xdg.enable then
"home-files/Library/Application Support/nushell"
else
"home-files/.config/nushell";
in ''
assertFileExists "${configDir}/env.nu"
assertFileRegex "${configDir}/env.nu" \
'/nix/store/.*carapace.*/bin/carapace _carapace nushell \| save -f \$"(\$carapace_cache)/init\.nu"'
assertFileExists "${configDir}/config.nu"
assertFileRegex "${configDir}/config.nu" \
'source /.*/\.cache/carapace/init\.nu'
'source /nix/store/[^/]*-carapace-nushell-config'
'';
}