nix/modules/core/applications.nix

65 lines
2.9 KiB
Nix

{
pkgs,
config,
lib,
...
}:
{
environment.systemPackages =
lib.optionals config.bchmnn.collections.cli-utils.enable [
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.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
];
}