1{
2 config,
3 lib,
4 pkgs,
5 ...
6}:
7
8let
9 cfg = config.programs.autojump;
10 prg = config.programs;
11in
12{
13 options = {
14 programs.autojump = {
15
16 enable = lib.mkOption {
17 type = lib.types.bool;
18 default = false;
19 description = ''
20 Whether to enable autojump.
21 '';
22 };
23 };
24 };
25
26 ###### implementation
27
28 config = lib.mkIf cfg.enable {
29 environment.pathsToLink = [ "/share/autojump" ];
30 environment.systemPackages = [ pkgs.autojump ];
31
32 programs.bash.interactiveShellInit = "source ${pkgs.autojump}/share/autojump/autojump.bash";
33 programs.zsh.interactiveShellInit = lib.mkIf prg.zsh.enable "source ${pkgs.autojump}/share/autojump/autojump.zsh";
34 programs.fish.interactiveShellInit = lib.mkIf prg.fish.enable "source ${pkgs.autojump}/share/autojump/autojump.fish";
35 };
36}