TL;DR: We are switching to Manjaro Linux as the default development environment for our development team. Our complete setup, including Yubikey integration, development tools and package management, is available as an open source project:
Written by Roland

Over the past 12 years, we at 10KB have used many different operating systems. From Windows with Ubuntu in VirtualBox, to WSL, macOS, and native Ubuntu desktops.... We've seen it all. This diversity brought us a lot of knowledge and gave us access to the best development experience. But as our team has grown larger, this fragmentation also provides challenges that we now want to address.
The evolution of our development environments
We once started on Windows machines because it allowed us to combine the fastest available hardware with good multi-monitor support. When we started developing with Ruby, we introduced Linux. First via virtual machines, then WSL, and eventually many developers switched to native Ubuntu.
A conscious decision we made years ago was to ignore macOS. While Apple hardware and software undoubtedly have qualities, their closed nature does not fit our tweaker culture as well. Moreover, we did not want to accept the limitations of relatively expensive hardware that was sometimes years behind in performance and capabilities.
Windows has evolved greatly as a development platform with WSL and Docker integration. Still, the performance of a native Linux system remains superior, which is crucial to us. This is also one of the reasons why we choose powerful desktops over laptops - we don't want to compromise when it comes to computing power.
After all these years with different systems, it is now time for the next step: standardization on Manjaro Linux.
The bottlenecks of our current setup
Our current situation presents several problems:
- Aged systems: Some developers are still working on old Ubuntu or Windows versions, which does not fit our technical profile.
- Inconsistent updates: There is no unified update policy, so different machines are on different patch levels.
- __Security risks:__The diversity makes it difficult to maintain a consistent security policy.
- Inefficient knowledge sharing: Optimizations and configuration improvements are not easily shared.
In addition, we want to achieve ISO27001 certification, which requires a more structured approach to our IT infrastructure.
Why Manjaro fits our needs perfectly
Where Ubuntu is increasingly focused on the end user, we deliberately take a slightly more technical approach with Manjaro. Not because we like complexity, but because we believe it better suits the technical capabilities of our team.
Ubuntu is betting heavily on technologies like Snap and Flatpak. A choice that may make sense for consumers, but is frustrating for developers. Why? The apt ecosystem fragments, booting packages takes longer, and integration with the system sometimes leaves something to be desired.
Manjaro, based on Arch Linux, offers us what we need:
- Rolling release model: Always access to the latest development tools.
- Pacman and AUR: A powerful package manager with access to almost all the software we need.
- Technical community: A community focused on optimization and knowledge sharing.
- Free window manager choice: From the standard GNOME desktop to alternatives such as i3.
Technical advantages
We experience the difference between Ubuntu's LTS model and Manjaro's rolling releases on a daily basis. With Manjaro, we always have the latest versions of Docker, Git and other tools - including security updates and performance improvements.
With the official repositories and the Arch User Repository (AUR), we always have everything readily available. No more hassles of manually adding PPAs, downloading custom .deb files or manually copying binaries from a Github release to your system.
We integrate Yubikeys for multi-factor authentication, full disk encryption and GPG application, which we seamlessly integrate with Manjaro.
Of course, no system is perfect, and Manjaro also has areas of concern. The rolling release model requires regular updates; this can sometimes lead to package conflicts. Also, the learning curve is a bit steeper for those who are only used to Windows or Ubuntu. However, these challenges outweigh the benefits, and we believe they can be managed well with good documentation and support.
Community and knowledge sharing
One of the main reasons to standardize on a single operating system is to create an internal community around optimization and knowledge. If everyone uses the same basic system, we can:
- Easily share configuration improvements
- Help each other with known problems
- Learn together and grow in our system knowledge
Our provisioning repository is not meant to be a top-down dictate, but a collaborative project to which everyone can contribute. As with open source projects, we believe that the best ideas come when users can solve problems themselves and share their solutions.
Vision for the future
Moving to Manjaro is more than just a technical choice - it is an investment in our future, contributing to:
- ISO27001 certification: With a unified platform, we can implement and monitor security measures more easily.
- __Increased productivity:__Through optimized development environments.
- Strengthened technical culture: Promote continuous improvement and knowledge sharing.
Conclusion
The choice of Manjaro as our developer standard is not a technical whim, but a well-considered decision. This choice is based on years of experience with different systems as well as extensive internal testing. I myself (Roland) have been working with this system for half a year, and Olaf has also been testing it for several months.
As DHH wrote about their move to Linux at 37signals: “It's not because it's easy, but because it's worth it.” We also believe that this investment will pay off in the coming years. It allows us to work more consistently, securely and efficiently - exactly what we need to continue to grow as a technical team.
Curious about our setup?
Did you get excited about our Manjaro setup? We strongly believe in open source and therefore share our complete configuration through our Manjikaze project. Fork the repository, experiment with it, and share your experiences. Have questions or suggestions? Feel free to open an issue on GitHub!