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:
51
home/base/cli-tools/packages.nix
Normal file
51
home/base/cli-tools/packages.nix
Normal 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
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user