Since You have knowledge of Go there are plenty of Golang Cli tools You can port to Nim ?
https://github.com/avelino/awesome-go?tab=readme-ov-file#command-line
Also many Cli tools exists in Python also : https://github.com/vinta/awesome-python?tab=readme-ov-file#command-line-tools
But I would recommend You to make something new instead of porting already existing solutions, I would like that You try to make Data processing tools that can be really useful
thread-safe postgres client that implements the binary protocol
Nah. Why not PL/Nim? ;)
Neovim with Treesitter correctly colors int as @variable, as well as @type if it’s used in a type position.
Yeah but I doubt it knows the "type positions", there is x[int]() vs var a: array[]; let int = 5; x[int], you can also pass types to routines if it's typedesc parameter etc etc. This actually strengthens my point: Modern editors think they can do "semantic" highlighting but they cannot because they don't have the information to do that. It's all just stupid unnecessary complexity that doesn't work and distracts the reader with too many different colors when all I need is some help for my brain. Let my help me lex the code, tell me if I'm inside a comment or a string literal and highlight keywords so that it looks nicer. That's all I need, more than that has never been proven to be an actual UX improvement, afaik.
Hey, @ashish111333 - since you mention ebpf that suggests you are probably on Linux and are also doing command-tools. So, there may be some little interfaces in cligen for you and you may enjoy some of my other Linux-y-tilted packages like lc, procs, bu, the latter especially might inspire some idea or another.
As to utilities that are "missing", I think there are dozens to hundreds of ebpf loggers. I know the bcc compiler comes with many. To guide your selection/scope work, many of them probably do enough "work in user space" &| target a "long-lived reliable logging process" that Nim's superior tilt toward perf & safetey & low dependency static binaries could really shine. I also have some ideas for "missing" such utilities if you want.
To be maximally concrete at the cost of verbosity, flash storage is fragile but kernels do not have "write amount logs/quotas" only "space taken" due to the hardware costs of a mostly bygone era. A Go Ethereum client once almost burned out my whole M2 flash card in one weekend re-writing its blockchain data over & over. At least back in 2018 when I looked into it, the Linux kernel "anonymized" writes too early to have much hope of such a quota. But a sysadmin could at least profit from a tool that creates a report like this (Happy Pi Day!):
# wlog
time nByte nWrite BlkDev UID command
2026-03-14,06:19:50 23995 569 nvme0n1p2 0 rsync
2026-03-14,06:19:50 35253552 969 nvme0n1p2 0 git
2026-03-14,06:19:50 511 9 nvme0n1p2 0 emaint
2026-03-14,06:19:50 16480 8 nvme0n1p2 1000 sqldb:p~lite #4
2026-03-14,06:19:50 123 5 nvme0n1p2 1000 zsh1
The sysadmin can then save this in a permalog (yes, this adds to the writes wearing out flash problem, but no not by much since these records are small and tunably rare) along with outputs of smartctl total wear data and isolate what trashed flash (yes, sadly past tense). This does rely upon a /proc/$$/io kind of data which while it can be disabled at Linux kernel build time is usually available.
A totally different angle might be a cligen-like tool for rendering a URI in a CGI bin..leveraging the similarity of "one shot key,value payload -> HTML" structure and calling procedures. This could be good for whipping up "status pages"/dash boards. That is more of an "out there/research/how good can this 'library idea' be made" kind of idea. Web Dev is popular and maybe someone's already tried this and I didn't notice? Anyway, just trying to help more concretely.
BTW, now tinydbus has an example with Mpris:
https://github.com/ASVIEST/tinydbus/blob/main/examples/mpris_core.nim
I think this will make things easier
Opiniated answer:
what I think Nim really do not need :
Some ideas where Nim could really shine :