An opinionated NixOS distribution providing modular building blocks and unified configuration for self-hosting services with best practices.
SelfHostBlocks is an opinionated NixOS distribution and collection of modules that standardizes self-hosting server management. It provides pre-configured services (like Nextcloud, Jellyfin, Vaultwarden) and reusable building blocks (backup, monitoring, SSO) with a unified configuration interface. It solves the complexity and maintenance burden of self-hosting by embedding best practices and ensuring robustness through automated testing.
Privacy and data sovereignty enthusiasts, homelab administrators, and developers who want to self-host services with a declarative, maintainable infrastructure. It suits those familiar with NixOS or willing to adopt its ecosystem for server management.
Developers choose SelfHostBlocks for its focus on long-term maintainability, modular design via contracts, and comprehensive integration of best practices. Unlike other server management tools, it provides a tested, distribution-like guarantee that services work together correctly and offers a consistent configuration experience.
Modular server management based on NixOS modules and focused on best practices.
Services like Nextcloud and Forgejo share consistent configuration patterns, as shown in README snippets, making setup intuitive and reducing complexity.
Reusable components such as LDAP, backups, and monitoring integrate seamlessly, providing a solid foundation and enabling easy customization with other services.
Comprehensive NixOS VM tests ensure all services evaluate, build, and work correctly together, with automated updates following nixpkgs unstable for reliability.
Pioneers a contracts mechanism to increase modularity, allowing interchangeable components like databases or reverse proxies, as detailed in the linked RFC.
Out-of-the-box features include ZFS datasets per service, automatic HTTPS, Grafana/Prometheus monitoring, and LDAP/SSO integration for a robust setup.
The README cautions that this is a one-person effort with potential undiscovered bugs, which could lead to slower issue resolution and limited support.
SelfHostBlocks requires its own patched version of nixpkgs, limiting flexibility and potentially causing conflicts with custom NixOS configurations or updates.
Some services lack entries in the manual, forcing users to refer to the 'All Options' section, which can be cumbersome and less user-friendly.
Focus on long-term maintenance over ease of installation means a higher barrier to entry, especially for those new to NixOS or declarative infrastructure.
Manage a user environment using Nix [maintainer=@khaneliman, @rycee]
Manage your macOS using Nix
Build a full-featured home server or NAS replacement with an Ubuntu box and this playbook.
A collection of NixOS modules covering hardware quirks.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.