mirror of
https://github.com/nix-community/home-manager.git
synced 2025-11-08 11:36:05 +01:00
45 lines
1.1 KiB
Nix
45 lines
1.1 KiB
Nix
{ lib, pkgs, ... }:
|
|
let
|
|
myProg = pkgs.writeText "my-prog.fish" ''
|
|
complete -c myprog -s o -l output
|
|
'';
|
|
|
|
myApp = pkgs.writeText "my-app.fish" ''
|
|
complete -c myapp -s -v
|
|
'';
|
|
in
|
|
{
|
|
config = {
|
|
programs.fish = {
|
|
enable = true;
|
|
|
|
completions = {
|
|
my-prog = ''
|
|
complete -c myprog -s o -l output
|
|
'';
|
|
my-app = {
|
|
body = ''
|
|
complete -c myapp -s -v
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
|
|
xdg.dataFile."fish/home-manager_generated_completions".source = lib.mkForce (
|
|
builtins.toFile "empty" ""
|
|
);
|
|
|
|
nmt = {
|
|
description = "if fish.completions is set, check file exists and contents match";
|
|
script = ''
|
|
assertFileExists home-files/.config/fish/completions/my-prog.fish
|
|
echo ${myProg}
|
|
assertFileContent home-files/.config/fish/completions/my-prog.fish ${myProg}
|
|
|
|
assertFileExists home-files/.config/fish/completions/my-app.fish
|
|
echo ${myApp}
|
|
assertFileContent home-files/.config/fish/completions/my-app.fish ${myApp}
|
|
'';
|
|
};
|
|
};
|
|
}
|