Nix
Group profile
Software is eating the world, and almost any practical contemporary software system is inevitably large and complex.
Developing and maintaining such systems requires an entire supply chain to work seamlessly, including:
- Developer tooling
- Project-specific development and build environments
- Deployment or distribution
As of today, individuals and organisations regularly spend days – sometimes weeks – setting up, maintaining, and debugging parts of this supply chain when starting new or switching between projects, or onboarding new developers.
When you fix something with Nix, it stays fixed
Nix is a build system, a configuration management system, and a mechanism for deploying software, focused on reproducibility. It is the basis of an ecosystem of powerful tools for software development, including Nixpkgs, the largest, most up-to-date software repository in the world, and NixOS, a Linux distribution that can be configured fully declaratively.
We believe that Nix is the right foundation for efficient and sustainable development of complex software systems. Nix already solves many of the problems involved for good, and we’re convinced there is more to come. We are committed to help shaping that future.
Services
The Nix Group consists of leading experts in the field, and provides Tweag’s clients with services around the Nix ecosystem.
What we offer
As a team, we:
-
Provide support and training for our clients and internal teams, enabling them to integrate disparate software components into a coherent solution.
-
Provide support and development services to clients using Nix.
-
Address both papercuts and deep, long-standing issues, providing both immediate value to our clients and the world, as well as unblocking downstream improvements that further our clients’ objectives.
-
Strengthen ties with the Nix community, stay up-to-date on the latest developments and best practices, and influence substantial changes.
-
Help increase Nix brand awareness, attracting both more users and contributors that can become qualified hires for our clients, thereby growing the overall market for products and services related to the Nix ecosystem.
Get in touch with our engineers and researchers if you have questions or want to know more.
What we have done recently
- CUDA support in Nixpkgs, with PDT partners
- Genalogos, an SBOM generator for Nix packages, with NLnet
- Improved learning materials, with Antithesis
- Overhauled the Nix reference manual, with Antithesis
- The Nix Hour, weekly video series on everything Nix
- Layered stores, with replit
- Standardised Nixpkgs source formatting
- Restructured the Nixpkgs source tree to ease package contributions and discoverability
- Experimental C API to the Nix language evaluator, with Antithesis
opam-nix
, a converter from Opam packages to Nix, with Mina- jupyenv, a Nix framework for creating reproducible Jupyter environments
- Nixpkgs file set library for handling local source files efficiently, with Antithesis
- Investigation into versioning the Nix language, with Antithesis
- Streamlined the Nix maintenance worflow, with Antithesis
- Tweag+Nix developer updates, regular bulletin on improvements in the Nix ecosystem
What else we can do
-
Assessment We answer your questions concerning an investment in the Nix ecosystem.
How would your project benefit from adopting Nix? What can you expect from it, what resources will it require, and what challenges may you encounter along the way?
-
Initial setup and migration We can help you on your path towards using Nix in your development and deployment workflows.
We’ll embed our engineers in your team to work directly on your code and with your engineers, and to share all relevant information with your team. You don’t have to adopt Nix wholesale; we also offer incremental migration towards declarative configuration and repeatable builds.
-
Training We can help your engineers to re-think and drastically simplify their workflows based on the tools provided in the Nix ecosystem.
And we can show your team how to work productively with your new setup, and how to get the most out of it.
-
Tuning and optimization We can tune your existing continuous integration and deployment setups to make them more reliable, more efficient, and easier to maintain.
-
Upstreaming We can make open source work for you.
We’ll improve Nix and related open source tools, or help you upstream your own improvements to set them up for success through wide adoption.
-
Maintenance and support We can help you maintain your legacy software, on modern foundations.
We also help you to keep your stable dependencies secure by backporting patches.
Guiding principles
Our role in the community
We are actively involved in the development all major aspects of the Nix ecosystem, and are engaged in community teams and the NixOS Foundation board.
Accountability
We personally stand behind our work and the decisions it entails, and disclose our affiliations appropriately. Given our established role in the Nix community and the responsibility that derives from it, we take feedback from all involved stakeholders into account, while keeping to our and our clients’ priorities.
Open collaboration
We deliberate over design decisions with the focus on keeping options for future development, backwards-compatibility with existing setups, and interoperability with other systems. We consider arguments based on ther merit, regardless who brings them forward. As far as possible, our work happens in the open or is published timely, and we regularly report on our activities.