1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-03-26 01:51:37 +00:00

zoxide: remove with lib

This commit is contained in:
Austin Horstman 2025-03-13 09:25:14 -05:00
parent d30c1d30bf
commit 56374cc64d

View file

@ -1,30 +1,25 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
let let
cfg = config.programs.zoxide; cfg = config.programs.zoxide;
cfgOptions = concatStringsSep " " cfg.options; cfgOptions = lib.concatStringsSep " " cfg.options;
in { in {
meta.maintainers = [ ]; meta.maintainers = [ ];
options.programs.zoxide = { options.programs.zoxide = {
enable = mkEnableOption "zoxide"; enable = lib.mkEnableOption "zoxide";
package = mkOption { package = lib.mkOption {
type = types.package; type = lib.types.package;
default = pkgs.zoxide; default = pkgs.zoxide;
defaultText = literalExpression "pkgs.zoxide"; defaultText = lib.literalExpression "pkgs.zoxide";
description = '' description = ''
Zoxide package to install. Zoxide package to install.
''; '';
}; };
options = mkOption { options = lib.mkOption {
type = types.listOf types.str; type = lib.types.listOf lib.types.str;
default = [ ]; default = [ ];
example = [ "--no-cmd" ]; example = [ "--no-cmd" ];
description = '' description = ''
@ -45,22 +40,24 @@ in {
lib.hm.shell.mkZshIntegrationOption { inherit config; }; lib.hm.shell.mkZshIntegrationOption { inherit config; };
}; };
config = mkIf cfg.enable { config = lib.mkIf cfg.enable {
home.packages = [ cfg.package ]; home.packages = [ cfg.package ];
programs.bash.initExtra = mkIf cfg.enableBashIntegration (mkOrder 2000 '' programs.bash.initExtra = lib.mkIf cfg.enableBashIntegration
eval "$(${cfg.package}/bin/zoxide init bash ${cfgOptions})" (lib.mkOrder 2000 ''
''); eval "$(${cfg.package}/bin/zoxide init bash ${cfgOptions})"
'');
programs.zsh.initContent = mkIf cfg.enableZshIntegration (mkOrder 2000 '' programs.zsh.initContent = lib.mkIf cfg.enableZshIntegration
eval "$(${cfg.package}/bin/zoxide init zsh ${cfgOptions})" (lib.mkOrder 2000 ''
''); eval "$(${cfg.package}/bin/zoxide init zsh ${cfgOptions})"
'');
programs.fish.interactiveShellInit = mkIf cfg.enableFishIntegration '' programs.fish.interactiveShellInit = lib.mkIf cfg.enableFishIntegration ''
${cfg.package}/bin/zoxide init fish ${cfgOptions} | source ${cfg.package}/bin/zoxide init fish ${cfgOptions} | source
''; '';
programs.nushell = mkIf cfg.enableNushellIntegration { programs.nushell = lib.mkIf cfg.enableNushellIntegration {
extraEnv = '' extraEnv = ''
let zoxide_cache = "${config.xdg.cacheHome}/zoxide" let zoxide_cache = "${config.xdg.cacheHome}/zoxide"
if not ($zoxide_cache | path exists) { if not ($zoxide_cache | path exists) {