fish: implement shellInitLast (after others)

Since the module system doesn't allow specifying order on types.lines
users can't specify anything to run after what modules have put into
shellInitInteractive since it runs last. This implements a fourth field
that runs after all others, not to be used by HM modules, but regular
users.

Co-authored-by: Carl Hjerpe <git@hjerpe.xyz>
This commit is contained in:
Ujp8LfXBJ6wCPR 2024-02-04 23:36:41 +01:00 committed by GitHub
parent 4ab01785b8
commit f80df90c10
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -314,6 +314,15 @@ in {
initialisation. initialisation.
''; '';
}; };
shellInitLast = mkOption {
type = types.lines;
default = "";
description = ''
Shell script code called during interactive fish shell
initialisation, this will be the last thing executed in fish startup.
'';
};
}; };
programs.fish.plugins = mkOption { programs.fish.plugins = mkOption {
@ -469,6 +478,8 @@ in {
${cfg.interactiveShellInit} ${cfg.interactiveShellInit}
end end
${cfg.shellInitLast}
''; '';
} }
{ {