An open API service indexing awesome lists of open source software.

https://github.com/fowlmouth/genieos

Too awesome procs to be included in nimrod.os module
https://github.com/fowlmouth/genieos

Last synced: 3 months ago
JSON representation

Too awesome procs to be included in nimrod.os module

Awesome Lists containing this project

README

        

Nimrod genie os module
======================

`Nimrod `_ 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!
`_).

License
=======

`Seohyun `_ says this has a `MIT license
`_.

Installation and usage
======================

Stable version
--------------

You could copy the `genieos.nim `_ file and `private `_
directory to your project or put these somewhere safe and use `nimrod'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
`Nimrod's babel package manager `_ and
type::

babel update
babel install genieos

Development version
-------------------

Use `Nimrod's babel package manager `_ to
install locally the github checkout::

$ git clone https://github.com/gradha/genieos.git
$ cd genieos
$ git checkout develop
$ babel install

Usage
=====

Once you have installed the package you can ``import genieos`` in your programs
and access the exported procs.

Documentation
=============

The genieos module comes with embedded docstrings. `Sooyoung
`_ recommends you to run the ``doc``
`nakefile task `_ to obtain the HTML
reference file with instructions on the exported symbols. Unix example::

$ cd `babel path genieos`
$ nake doc
$ open docindex.html

The `docindex file `_ links all the available documentation.
Generated documentation for all public API versions can also be found at
`http://gradha.github.io/genieos/ `_. No
guarantees on its freshness, though, do check the generation date at the
bottom.

Extra binaries
==============

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.

Roadmap
=======

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, `the latest version is 9.3.1 `_.

Git branches
============

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.

Feedback
========

You can send me feedback through `github's issue tracker
`_. I also take a look from time to
time to `Nimrod's forums `_ where you can talk to
other *more serious* nimrod programmers.