1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-12-29 13:19:47 +01:00
home-manager/tests/modules/programs/nushell/example-settings.nix
2024-10-17 12:54:19 +02:00

62 lines
1.4 KiB
Nix

{ pkgs, config, lib, ... }:
{
programs.nushell = {
enable = true;
configFile.text = ''
let $config = {
filesize_metric: false
table_mode: rounded
use_ls_colors: true
}
'';
envFile.text = ''
$env.FOO = 'BAR'
'';
loginFile.text = ''
# Prints "Hello, World" upon logging into tty1
if (tty) == "/dev/tty1" {
echo "Hello, World"
}
'';
shellAliases = {
"lsname" = "(ls | get name)";
"ll" = "ls -a";
};
environmentVariables = {
FOO = "BAR";
LIST_VALUE = [ "foo" "bar" ];
PROMPT_COMMAND = lib.hm.nushell.mkNushellInline ''{|| "> "}'';
ENV_CONVERSIONS.PATH = {
from_string =
lib.hm.nushell.mkNushellInline "{|s| $s | split row (char esep) }";
to_string =
lib.hm.nushell.mkNushellInline "{|v| $v | str join (char esep) }";
};
};
};
test.stubs.nushell = { };
nmt.script = let
configDir = if pkgs.stdenv.isDarwin && !config.xdg.enable then
"home-files/Library/Application Support/nushell"
else
"home-files/.config/nushell";
in ''
assertFileContent \
"${configDir}/config.nu" \
${./config-expected.nu}
assertFileContent \
"${configDir}/env.nu" \
${./env-expected.nu}
assertFileContent \
"${configDir}/login.nu" \
${./login-expected.nu}
'';
}