nixos-config/modules/tools.nix

124 lines
3.4 KiB
Nix

{ config, lib, pkgs, ... }:
{
environment.systemPackages = with pkgs; lib.mkMerge [
[
# top like tools
bmon # network monitor
gotop # fancy top
mtr # interactive traceroute
# batch processing/automation
jq # sed for json
parallel # parallel batch processing
yq # sed for yaml
# unix tools on steroids
curlie # better httpie (easier curl)
exa # better ls
fd # better find
ripgrep # better grep
# file tools
aria # multithreaded http/ftp/bittorrent download manager
dos2unix # convert CRLF (dos) or CR (classic mac) line endings to LF (unix)
fdupes # find duplicate files
file # file type
hexyl # user friendly hex file viewer
hyperfine # cli benchmarking
megatools # cli for mega.nz
minio-client # client for s3 compatible storage systems
mktorrent # bittorrent seed file generator
ntfs3g # ntfs filesystem driver
rclone # rsync for cloud storage
rename # sed for filenames
rsync # incremental file transfer
tokei # fast cloc
wget # download tool
xdelta # binary diff
# file format tools
imagemagick # image conversion
p7zip # 7z cli
pdftk # pdf multitool
sqlite-interactive # cli for sqlite databses
upx # executable packer
# network tools
dnsutils # dig
gatling # high performance web serve
iperf
iperf2 # bandwidth measurement tool
nmap # port scanner
sshfs # mount remote host
vnstat # client for vnstatd
whois # whois client
zmap # scanner for large address spaces
# system tools
libva-utils # vainfo
lm_sensors # temperature sensors
ncdu # interactive du
pciutils # lspci
reptyr # move process to current terminal
smartmontools # hard drive monitoring
usbutils # lsusb
# clients
drone-cli # client for drone ci
hcloud # cli for Hetzner Cloud
libnotify # notify-send
# function eye candy
fzf # fuzzy finder
pv # monitor progress in pipe
starship # zsh prompt
# end user programs
apacheHttpd # for htpasswd
libqalculate # flexible calculator for humans
scrcpy # stream/control android phones over adb
taskwarrior # todo list manager
# passwords
(pass-wayland.withExtensions (es: with es; [ pass-otp ])) # password manager
pwgen
pwgen-secure # password generator
xkcdpass # memorable password generator
# misc
toilet # free figlet
python38Packages.ipython # better python repl (useful for one-liners)
# vim
neovim-remote # controlling another neovim process
universal-ctags # ctags
# git
gitAndTools.delta # nicer diff
gitAndTools.git-annex
gitAndTools.git-annex-remote-rclone # git for non source files
gitAndTools.pre-commit # pre-commit hook for git
# nix tools
niv # depdendency manager
]
(lib.mkIf config.sbruder.gui.enable [
anki # flashcard SRS
filezilla # ftp client
gparted # gui for parted
qalculate-gtk # flexible calculator
antimicroX # gamepad to keyboard/mouse mapping
wl-clipboard # not really gui, but cli tool to manage wayland clipboard
wxhexeditor # hex editor
xfce.thunar # graphical file manager
])
];
programs = {
adb.enable = true;
bandwhich.enable = true;
iotop.enable = true;
};
}