Nixcademy Blog Posts

Test Your Apps and Services with GitHub Actions Quickly and for Free

title image of blog post \
📆
March 1, 2024 by Jacek Galowicz

This article is for people new to NixOS and its testing tools. Even though we have talked about NixOS integration tests before, this time we’re making it easy for beginners. We’ll show you how to use the NixOS test driver with a simple project. This is a hands-on article, meaning we’ll go through the steps together. You’ll learn by doing, which is a great way to see how NixOS can help with your projects.

➡️
Read more

Build and Deploy Linux Systems from macOS

title image of blog post \
📆
February 12, 2024 by Jacek Galowicz

Macbooks stand out with their long battery life and the “just works” experience with meeting multimedia. Developing for Linux and deploying to Linux machines with Nix, however, was a pretty much reduced experience until lately. In this article we’re going to look closer at how easy it is to configure a macOS system with a “local remote builder” so it can build NixOS images and also remote deploy to Linux systems without the need for external remote builders.

➡️
Read more

Separation of Concerns in Cross-Compilation

title image of blog post \
📆
January 30, 2024 by Jacek Galowicz

Managing complex C++ projects across multiple platforms often ends up being a frustrating and time-consuming task. However, this common challenge faced also by the most experienced software developers doesn’t have to be an inevitable struggle. Imagine a world where cross-compilation is not just feasible, but also efficient and less cumbersome. I have noticed in several past friendly discussions with other engineers that many are not at all familiar with the type of Separation of Concerns that Nix didn’t invent but also uses.

➡️
Read more

Setting up Nix on macOS

title image of blog post \
📆
January 15, 2024 by Jacek Galowicz

I recently bought a Macbook because more and more people are asking me how to use Nix in certain situations under MacOS. In this article, we walk through installing Nix on MacOS and see how pleasant the experience is these days. After that, we show how to go declarative on MacOS with nix-darwin to enable compilation for Linux and Intel Macs, as well as some other nice features.

➡️
Read more

Unveiling the Power of the NixOS Integration Test Driver (Part 2)

title image of blog post \
📆
December 1, 2023 by Jacek Galowicz

The first part of this article series on the NixOS Integration Test Driver already highlighted why it is one of the killer features of the Nix(OS) ecosystem. NixOS integration tests…

  • make it easy to set up complex test scenarios
  • build, set up, and run very quickly
  • let the programmer express complex test sequences easily by using Python
  • run reproducibly in the Nix sandbox
  • produce the same results locally as in your CI infrastructure

In this part, we are going to learn how it works!

➡️
Read more

C++ with Nix in 2023, Part 2: Package Generation and Cross-Compilation

title image of blog post \
📆
November 16, 2023 by Jacek Galowicz

This is Part 2 of our series on using C++ with Nix in 2023 we’re moving a step further to focus on packaging and cross-compilation. Packaging is crucial for making your applications easily distributable, while cross-compilation allows you to build software for different platforms from a single source.

➡️
Read more

C++ with Nix in 2023, Part 1: Developer Shells

title image of blog post \
📆
October 31, 2023 by Jacek Galowicz

In today’s complex software development landscape, C++ developers struggle with the challenges of setting up reliable, consistent, and portable development environments. Traditional methods often involve wrestling with system dependencies, containers, VMs, or even facing discrepancies across different platforms or team members’ setups. Enter Nix: A game-changer in this space, allowing developers to create build environments that are easy to use and maintain.

➡️
Read more

Unveiling the Power of the NixOS Integration Test Driver (Part 1)

title image of blog post \
📆
October 24, 2023 by Jacek Galowicz

In DevOps and software testing, efficiency and reliability are important. Developers and system administrators are in need of tools and practices that optimize their workflows, ensure the stability of their systems, and save them time and resources. Enter the NixOS Integration Test Driver—the killer feature within the NixOS ecosystem that combines the best of declarative configuration, virtualization, and Python scripting to revolutionize the way we test and validate our systems.

➡️
Read more

Hosting OpenStreetMap on NixOS

title image of blog post \
📆
September 26, 2023 by Jacek Galowicz

This journey towards running OpenStreetMap on NixOS began as a part of a solution for a client, but the ease and speed of NixOS made it an eye-opening experience. Let’s explore the practicality of OpenStreetMap on NixOS in this article, where I show how to describe a running configuration as a NixOS module.

➡️
Read more

Multi-Version PHP with Nginx on NixOS: Containerized and Not

title image of blog post \
📆
September 4, 2023 by Jacek Galowicz

Two weeks ago I gave a class about server security at the linuxhotel. Although the class had nothing to do with NixOS, one of the participants asked me during a coffee break, how hard it would be to configure a web server with NixOS that provides multiple versions of PHP at the same time. Let’s have a look at how this is simple in NixOS. As an extra, let’s run the whole setup in a declarative systemd-nspawn container to fulfill last week’s promise!

➡️
Read more
Newer Older