flake/modules/home/terminal/tools.nix
2025-08-01 11:33:55 +00:00

70 lines
1.4 KiB
Nix

{ pkgs, lib, config, ... }:
let cfg = config.mods.terminal;
in with lib; {
options.mods.terminal.tools.enable = mkEnableOption "enables cli tools";
config = mkIf cfg.tools.enable {
programs = builtins.listToAttrs (map (name: {
name = name;
value = {
enable = true;
} // optionalAttrs
(builtins.hasAttr "enableZshIntegration" config.programs.${name}) {
enableZshIntegration = mkIf cfg.zsh.enable true;
};
}) [
"zellij"
"fzf"
"eza"
"bat"
"zoxide"
"dircolors"
"nix-index"
"lazygit"
"fd"
"ripgrep"
"bottom"
"htop"
"vifm"
"rbw"
]) // {
atuin = {
enable = true;
enableZshIntegration = true;
flags = [ "--disable-up-arrow" ];
settings = {
sync_frequency = "5m";
sync_address = "https://atuin.muon.host";
key_path = config.sops.secrets.atuin-auth.path;
keymap_mode = "vim-insert";
keymap_cursor = {
vim_insert = "blink-bar";
vim_normal = "steady-block";
};
};
};
};
home.packages = with pkgs; [
# libraries
glow
ueberzugpp
# file managing
trash-cli
dua
fdupes
vifm
unzip
# security
pinentry-tty
# utilities
fend
xclip
];
};
}