feat(home): extract CLI tools into modular home/base structure

- Add individual modules for: bat, carapace, direnv, eza, fzf, lf, nitch,
  television, zellij, zellij-ps, zoxide
- Centralize in home/base/cli-tools/ with default.nix aggregator
- Simplify home/base/packages by removing extracted tools
This commit is contained in:
m3tm3re
2026-04-26 13:49:17 +02:00
parent 06b430e067
commit 0ea8b8d2eb
13 changed files with 492 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
# Essential CLI packages — core utilities always available on every host.
{
config,
lib,
pkgs,
...
}:
with lib; let
cfg = config.base.cliTools.essentials;
in {
options.base.cliTools.essentials.enable = mkEnableOption "enable essential CLI packages";
config = mkIf cfg.enable {
home.packages = with pkgs; [
# Core utilities
coreutils
fd
htop
jq
ripgrep
# Dev tools
devenv
gcc
go
httpie
just
lazygit
nix-index
nix-update
progress
sqlite
sqlite-vec
tldr
# AI tools
comma
fabric-ai
llm
# Misc
basecamp
hyprpaper-random
libnotify
trash-cli
unzip
yazi
zip
];
};
}