{ pkgs, config, lib, ... }: { environment.systemPackages = lib.optionals config.bchmnn.collections.cli-utils.enable [ pkgs.file # program that shows the type of files pkgs.pciutils # a collection of programs for inspecting and manipulating configuration of pci devices pkgs.usbutils # tools for working with usb devices, such as lsusb pkgs.lshw # provide detailed information on the hardware configuration of the machine pkgs.git # distributed version control system pkgs.gnumake # a tool to control the generation of non-source files from sources pkgs.parallel # shell tool for executing jobs in parallel pkgs.mercurial # a fast, lightweight scm system for very large distributed projects pkgs.wget # tool for retrieving files using http, https, and ftp pkgs.unstable.neovim-unwrapped # vim text editor fork focused on extensibility and agility pkgs.neofetch # a fast, highly customizable system info script pkgs.eza # a modern, maintained replacement for ls pkgs.ripgrep # a utility that combines the usability of the silver searcher with the raw speed of grep pkgs.ripgrep-all # ripgrep, but also search in pdfs, e-books, office documents, zip, tar.gz, and more pkgs.expect # a tool for automating interactive applications pkgs.jq # a lightweight and flexible command-line json processor pkgs.unzip # an extraction utility for archives compressed in .zip format pkgs.unrar # utility for rar archives pkgs.libsecret # a library for storing and retrieving passwords and other secrets pkgs.xidel # command line tool to download and extract data from html/xml pages as well as json apis pkgs.nvd # nix/nixos package version diff tool pkgs.inotify-tools # a c library and a set of command-line programs providing a simple interface to inotify pkgs.mkcert # a simple tool for making locally-trusted development certificates pkgs.hexedit ] ++ lib.optionals (config.bchmnn.collections.cli-utils.enable && config.bchmnn.nvidia.enable) [ pkgs.nvtopPackages.full ] ++ lib.optionals config.bchmnn.collections.development.enable [ pkgs.gcc13 pkgs.clang pkgs.universal-ctags # a maintained ctags implementation pkgs.unifdef # selectively remove c preprocessor conditionals pkgs.doxygen # source code documentation generator tool pkgs.rustc pkgs.cargo # downloads your rust project's dependencies and builds your project pkgs.go # go programming language (pkgs.python312.withPackages ( p: with p; [ ptpython # an advanced python repl ipython # ipython: productive interactive computing pycryptodome # self-contained cryptographic library gmpy2 # interface to gmp, mpfr, and mpc for python 3.7+ ] )) pkgs.lua pkgs.nixpkgs-fmt pkgs.openjdk17 pkgs.javaPackages.openjfx17 pkgs.gradle_7 pkgs.maven pkgs.ant pkgs.nodejs_20 pkgs.nodenv pkgs.nodePackages.yarn pkgs.nodePackages.pnpm ]; }