feat: add missing packages and programs to base cli-tools
- packages.nix: essential packages (jq, ripgrep, fd, htop, coreutils, lazygit, httpie, just, devenv, gcc, go, sqlite, sqlite-vec, nix-index, nix-update, progress, comma, fabric-ai, llm, basecamp, hyprpaper-random, libnotify, trash-cli, unzip, zip, yazi) - bat.nix: bat with nix-colors derived syntax theme - carapace.nix: multi-shell completion (fish, nushell, bash) - direnv.nix: automatic env loading with nix-direnv - eza.nix: modern ls with icons, git status, long format - lf.nix: terminal file manager with bat preview - zoxide.nix: smarter cd with fish and nushell integration - zellij-ps.nix: project session manager wrapping cli.zellij-ps
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