Simple tool for automatic file management
1# PTSD 2 3Simple tool for automatic file management. Basically `find … -exec`/`fd … --exec` 4with configuration file. 5 6## Name 7 8It stands for *Python Tremendously Suck Dicks* and it was created in anger after 9I tried to package [`organize`][] for Nix. It was pain, even when I was working 10alongside of one of Poetry maintainers. So as that experience was quite 11suboptimal I come up with idea of writing such project on my own and I have gave 12it a name that relates to the experience I had with Python. 13 14Hopefully this will be simpler to write and to package it as a Rust project 15rather than Python. 16 17[`organize`]: https://github.com/tfeldmann/organize/tree/main 18 19## Why Rust? 20 21Why not? I was thinking also about using Zig that I am learning, but I know Rust 22better and the ecosystem of Rust is in better state. Maybe I will rewrite it 23later. 24 25## Supported platforms 26 27I develop it and maintain it mostly on macOS, so most \*nixes should be ok. I 28will probably test it on Linux as well. I do not have Windows machine nor I care 29enough about that platform, so support for it may be wonky (unless someone, 30potentially You, will be willing to take care of it). 31 32## Configuration 33 34TBD, but current plan is to use JSON files. 35 36> But Hauleth, JSON sucks for configuration as it is quite verbose, lacks 37> comments, etc. So why not use something like JSON5, TOML, Dhall, Nickel 38> or other? 39 40Good question. I was thinking about using either Dhall or Nickel, but in the end 41I come to the conclusion that I want to use it from Nix anyway, so just using 42plain JSON and generating it from Nix derivation will be much simpler than using 43some fancy pants configuration language. In the end you can also use Nickel or 44Dhall from CLI and pass the generated file to the `ptsd`. Also if there will be 45need other formats can be easily added as `ptsd` uses Rust's Serde, which allows 46us to easily add new formats in the future if needed. 47 48## License 49 50I haven't decided yet, so for now we can assume WTFLPL, but it will for sure 51change in future.