Welcome to Sirup!

This site covers Sirup’s conceptual & API documentation.

Sirup

Code Integration Status on UNIX/Linux Code Integration Status on Windows Code Coverage Status Documentation Status

Sirup is a Python (3.6+) task execution tool, build upon Invoke. It automates my MBP setup, configuration and management.

Based on Invoke

Invoke is a great tool and life enhancer! Being still in its prerelease phase, it is already usable! In the end it will be part of Fabric v.2, the successor of Fabric v.1.x. For my pourposes it has everything, is clean, simple and well documentated.

Roadmap

Upnext:

  • Configure system settings like Finder, MagicTrackpad and Screensaver.
  • Install and configure Homebrew and Homebrew Cask -
  • Install VLC and configure support for BluRays.

Why not Ansible?

This project is a conclusion after having used Ansible before. See my ansible-osx-playbooks repository on github for more information on that one. Ansible has a lot of so called modules, but fails to unify the interface between the different operating systems (see the ACL module for example, which does not support NFS v.4 ACLs). As such ansible just became a more complex way of executing shell commands in my case. But I liked the idea behind ansible and didn’t want to give up, so I looked into module development, but found a lot of other flaws there, too. Because of its encapsulation logic, there is currently no way to prevent code duplication throughout modules (take a look at this Google Groups discussion, where Michael DeHaan - the guy who started ansible - is talking about that). With Invoke on the other side all those flaws are gonne (respectively never existed).

Indices and tables