Guix Shepherd 1.0 Released: A Minimalist Service Manager Hits 1.0

2025-01-14

After 21 years in development, the Guix Shepherd service manager has finally reached version 1.0! Shepherd is a minimalist yet powerful service manager that monitors, starts, stops, and restarts services. It supports custom actions and visualization of service dependencies. Written in Guile Scheme, Shepherd boasts a simple and intuitive configuration, making it accessible even to non-Scheme experts. Version 1.0 introduces timed services, improved service status display, a log rotation service, and a system log service. The code is remarkably concise and efficient, clocking in at just 7.4K lines of Scheme. Future development aims towards a distributed, capability-style service manager.

Read more
Development service manager

Guix Successfully Builds a Fully Bootstrapped Mono: A Long and Winding Road

2024-12-31

The Guix system has successfully built a fully bootstrapped Mono environment, overcoming numerous challenges in the process. The author details their journey to support C# 12.0 features, encountering issues with older Mono versions relying on pre-built binaries. Through a series of patches, a fully bootstrapped chain from Mono 1.2.6 to 6.12.0 was created. Along the way, bugs in Mono and xbuild were fixed, and runpath support in Mono was enhanced. This not only solved the author's C# compatibility problem but also highlighted the importance of fully bootstrapped, reproducible builds and their impact on software security.

Read more
Development Bootstrapped Build