Nim genieos module
Nim provides the os module with OS related procs to manage files among other things. But this is really just basic POSIX stuff, and nowadays OSes have things like recycle bins and speakers to play sounds. However, these kind of procs are not very cross platform and some people wouldn't like them in the base os module.
So here's my answer, genieos contains several procs which are too awesome to be included in the standard os one. You could actually think of this module as a fancy os module, but if we are talking about fancy stuff, you can't get more fancy than Girls' Generation 소녀시대, also known as Sonyeo Shidae or SNSD. Just tell them your wish, you never know what this module could do for you (hey, it even remixes well!).
Installation and usage
You could copy the genieos.nim file and genieos_pkg directory to your project or put these somewhere safe and use Nim's configuration files feature to specify their path. But that would be really raw, like asking Jessica to eat a cucumber (she dislikes them!). So you can use Nim's Nimble package manager and type:
$ nimble update $ nimble install genieos
Use Nim's Nimble package manager to install locally the github checkout:
$ nimble update $ git clone https://github.com/gradha/genieos.git $ cd genieos $ nimble install -y
Alternatively you can use the following syntax to ask Nimble to install the development version directly:
$ nimble update $ nimble install -y genieos@#head
Once you have installed the package you can import genieos in your programs and access the exported procs.
To put the awesome procs into use there's a trash command which works like your typical rm from the command line but instead of removing files it puts them nicely in your recycle bin. Check out the trash-binary directory for further information.
This module implements MacOSX functionality, a toy OS Sunny would enjoy using. Real men with real operative systems, however, are presumed to step in at some point and implement these procs (or add new ones) to their manly platforms. Unfortunately they are figuring out where the recycle bin is or cleaning tiles for some reason. Note how I carefully avoided any mention of snakes and dongles here... oops.
Anyway, this is the development version 9.4.3. For a list of changes see the docs/CHANGES.rst file.
This project uses the git-flow branching model with reversed defaults. Stable releases are tracked in the stable branch. Development happens in the default master branch.