All grid middleware require external packages to interact with computing elements, storage sites… In the case of the DIRAC middleware this was historically divided into two bundles, one called externals containing Python and standard binary libraries and the other called the LCGBundle containig libraries form the grid world (gfal, arc, etc). The externals were provided for several platforms whereas the LCGBundle was released only for SLC6 and CC7. Such a setup was difficult to test and hindered agile development of DIRAC. Therefore we developed DIRACOS to produce a coherent environment for grid interaction. Additionally it solves the binary incompatibility we reached by using a python version newer than the native system one (SLC6). It is spawned form a single list of required packages from where we use SRPMs to pull all dependencies down to the level of glibc. With such an approach we can provide the same packages for our clients, servers, and several platforms. It is an extendible setup with an agile development cycle in mind. The core build functionality of DIRACOS is based on Fedora Mock. DIRACOS also introduces its own grammar, and to handle specific cases it also allows patching (some SRPM require tweeking, which the user can do by providing a diff) as well as routines for pre/post/instead actions of compilation. With this approach DIRAC was able to provide a single bundle for clients and servers, that is reliable, flexible, easy to test and relatively small (250 MB). It allows for a smooth transition from SLC6 to CC7 and provides a clear roadmap for possible extension of DIRAC to a myriad of platforms.