home-manager/tests/modules/programs/thefuck/integration-enabled.nix

44 lines
1.4 KiB
Nix
Raw Normal View History

2023-10-01 14:41:55 +00:00
{ ... }:
{
programs = {
thefuck.enable = true;
bash.enable = true;
fish.enable = true;
2023-10-01 14:41:55 +00:00
zsh.enable = true;
2024-04-29 07:53:42 +00:00
nushell.enable = true;
2023-10-01 14:41:55 +00:00
};
test.stubs.thefuck = { };
nmt.script = ''
assertFileExists home-files/.bashrc
assertFileContains \
home-files/.bashrc \
'eval "$(@thefuck@/bin/thefuck '"'"'--alias'"'"')"'
2023-10-01 14:41:55 +00:00
assertFileExists home-files/.config/fish/functions/fuck.fish
assertFileContains \
home-files/.config/fish/functions/fuck.fish \
'function fuck --description="Correct your previous console command"
set -l fucked_up_command $history[1]
env TF_SHELL=fish TF_ALIAS=fuck PYTHONIOENCODING=utf-8 @thefuck@/bin/thefuck $fucked_up_command THEFUCK_ARGUMENT_PLACEHOLDER $argv | read -l unfucked_command
if [ "$unfucked_command" != "" ]
eval $unfucked_command
builtin history delete --exact --case-sensitive -- $fucked_up_command
builtin history merge
end
end'
2023-10-01 14:41:55 +00:00
assertFileExists home-files/.zshrc
assertFileContains \
home-files/.zshrc \
'eval "$(@thefuck@/bin/thefuck '"'"'--alias'"'"')"'
2024-04-29 07:53:42 +00:00
assertFileExists home-files/.config/nushell/config.nu
assertFileContains \
home-files/.config/nushell/config.nu \
'alias fuck = @thefuck@/bin/thefuck $"(history | last 1 | get command | get 0)"'
2023-10-01 14:41:55 +00:00
'';
}