NixOS configuration scaling pattern

Scaling NixOS with "Import All and Enable" Pattern

The default structure of a fresh NixOS installation makes a lot of sense, two files, which are intended to be used as the bases for future changes and represent a single machine with the bare minimum, upon which this first installation is being done. For the sake of consistent language I will call them two high level modules. The problem with "all in one configuration files" The initial installation creates two high level modules, configuration.nix and hardware-configuration.nix but what happens when we want to add zfs configuration or setup home-manger, or maybe declare neovim and emacs. The cohesion of this high level modules gets fuzzier by every such addition. Unrelated configurations get coupled together, Understating where something starts and ends and the ability to change it becomes a nightmare. ...

September 13, 2025 · Kobi Medrish
yocto and pie board

Intro to Yocto, part 4 - Yocto for raspberry pi4, build, boot, and cross compile

All posts in this series: Intro to Yocto, part 1 - Rolling your own Linux distro with yocto Intro to Yocto, part 2 - Hands-On Introduction to BitBake Intro to Yocto, part 3 - Building a Poky (Yocto Project) Image for QEMU (current) Intro to Yocto, part 4 - Yocto for raspberry pi4, build, boot, and cross compile Preface The goal of this post is to customize the Yocto reference distribution, Poky to create a bootable image for the Raspberry Pi4. This involves aspects of what is often termed as “board bring-up”, specifically adapting the build system for new hardware. And will also cover cross-compilation. ...

July 21, 2025 · Kobi Medrish

Intro to Yocto, part 3 - Building a Poky (Yocto Project) Image for QEMU

All posts in this series: Intro to Yocto, part 1 - Rolling your own Linux distro with yocto Intro to Yocto, part 2 - Hands-On Introduction to BitBake (current) Intro to Yocto, part 3 - Building a Poky (Yocto Project) Image for QEMU Intro to Yocto, part 4 - Yocto for raspberry pi4, build, boot, and cross compile After looking at why you should build your own distribution in Rolling you own Linux distro with Yocto, And then looking on how bitbake works, it is time to dip our toes in the water and create first real image out of poky reference repository and actually run it using a virtual machine. ...

July 16, 2025 · Kobi Medrish

Intro to Yocto, part 2 - Hands-On Introduction to BitBake

All posts in this series: Intro to Yocto, part 1 - Rolling your own Linux distro with yocto (current) Intro to Yocto, part 2 - Hands-On Introduction to BitBake Intro to Yocto, part 3 - Building a Poky (Yocto Project) Image for QEMU Intro to Yocto, part 4 - Yocto for raspberry pi4, build, boot, and cross compile Preface This post is based on a tutorial by Harald Achitz. As I was following it I was adding notes to it for context, and clarity. Filling in the blanks I came across and refactoring the structure for readability. ...

July 9, 2025 · Kobi Medrish
Yocto logo

Intro to Yocto, part 1 - Rolling your own Linux distro with yocto

All posts in this series: (current) Intro to Yocto, part 1 - Rolling your own Linux distro with yocto Intro to Yocto, part 2 - Hands-On Introduction to BitBake Intro to Yocto, part 3 - Building a Poky (Yocto Project) Image for QEMU Intro to Yocto, part 4 - Yocto for raspberry pi4, build, boot, and cross compile This post is the first in a series that will cover embedded development from the perspective of OS development, starting with the need of such solution, the moving parts, the basic configuration that can be used on a raspberry pi and anything else that might be relevant. ...

October 27, 2024 · Kobi Medrish