nnn: add cd on quit option

This commit is contained in:
Jasper Chan 2026-02-13 17:50:50 -08:00 committed by Austin Horstman
parent 91be7cce76
commit 8b6212ebd6

View file

@ -100,6 +100,14 @@ in
'';
default = { };
};
enableBashIntegration = lib.hm.shell.mkBashIntegrationOption { inherit config; };
enableFishIntegration = lib.hm.shell.mkFishIntegrationOption { inherit config; };
enableZshIntegration = lib.hm.shell.mkZshIntegrationOption { inherit config; };
quitcd = lib.mkEnableOption "cd on quit";
};
};
@ -116,10 +124,25 @@ in
--prefix NNN_PLUG : "${renderSettings cfg.plugins.mappings}"
'';
});
quitcd = {
bash_sh_zsh = "source ${nnnPackage}/share/quitcd/quitcd.bash_sh_zsh";
fish = "source ${nnnPackage}/share/quitcd/quitcd.fish";
};
in
lib.mkIf cfg.enable {
programs.nnn.finalPackage = nnnPackage;
home.packages = [ nnnPackage ];
xdg.configFile."nnn/plugins" = lib.mkIf (cfg.plugins.src != null) { source = cfg.plugins.src; };
programs.bash.initExtra = lib.mkIf (cfg.enableBashIntegration && cfg.quitcd) (
lib.mkAfter quitcd.bash_sh_zsh
);
programs.fish.interactiveShellInit = lib.mkIf (cfg.enableFishIntegration && cfg.quitcd) (
lib.mkAfter quitcd.fish
);
programs.zsh.initContent = lib.mkIf (cfg.enableZshIntegration && cfg.quitcd) (
lib.mkAfter quitcd.bash_sh_zsh
);
};
}