2026-05-02 09:08:40 +02:00
|
|
|
# Essential CLI packages — core utilities always available on every host.
|
|
|
|
|
# NOTE: `lazylib` does not exist in nixpkgs. `lazygit` is the correct package
|
|
|
|
|
# (Git TUI) and is intentionally used here instead.
|
|
|
|
|
{
|
|
|
|
|
config,
|
|
|
|
|
lib,
|
|
|
|
|
pkgs,
|
|
|
|
|
...
|
|
|
|
|
}:
|
|
|
|
|
with lib; let
|
|
|
|
|
cfg = config.base.cliTools.essentials;
|
|
|
|
|
in {
|
|
|
|
|
# Enabled by default — base modules are always-on.
|
|
|
|
|
options.base.cliTools.essentials.enable = (mkEnableOption "enable essential CLI packages") // {default = true;};
|
|
|
|
|
|
|
|
|
|
config = mkIf cfg.enable {
|
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
|
# Core utilities
|
|
|
|
|
coreutils
|
|
|
|
|
fd
|
|
|
|
|
htop
|
|
|
|
|
jq
|
|
|
|
|
ripgrep
|
|
|
|
|
|
|
|
|
|
# Nix
|
|
|
|
|
alejandra
|
|
|
|
|
nixd
|
|
|
|
|
nix-diff
|
|
|
|
|
nix-update
|
2026-05-11 19:21:57 +02:00
|
|
|
nix-tree
|
2026-05-02 09:08:40 +02:00
|
|
|
|
|
|
|
|
# Dev tools
|
|
|
|
|
bc
|
|
|
|
|
cmake
|
|
|
|
|
devenv
|
|
|
|
|
gcc
|
|
|
|
|
gnumake
|
|
|
|
|
go
|
|
|
|
|
httpie
|
|
|
|
|
just
|
|
|
|
|
lazygit
|
|
|
|
|
progress
|
|
|
|
|
sqlite
|
|
|
|
|
sqlite-vec
|
|
|
|
|
tldr
|
|
|
|
|
|
|
|
|
|
# AI tools
|
|
|
|
|
fabric-ai
|
|
|
|
|
llm
|
|
|
|
|
|
|
|
|
|
# Misc
|
|
|
|
|
basecamp
|
|
|
|
|
libnotify
|
|
|
|
|
trash-cli
|
|
|
|
|
unzip
|
|
|
|
|
yazi
|
|
|
|
|
zip
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
}
|