Dendrix: Dendritic nix configurations distribution

Hi, :slight_smile:

Just like we have editor (neovim/spacemacs) pre-configured distributions where newbies only have to download and uncomment a line to enable awesome community-maintained configurations, I started a project in that very same spirit for NixOS, the idea is to help NixOS adoption by lowering the how-do-i-configure-my-nixos barrier of entry for new NixOS users by doing exactly what the editor-configuration-distributions have been doing well: provide “layers” of blessed configurations.

Dennix - A distribution of dendritic nix configurations

By following the dendritic pattern, enabling a “dennix layer” (a collection of flake-parts modules), the system will configure all pertaining nix-module classes nixos/nix-darwin/home-manager where the feature must be configured to work seamlessly.

My goal is for dennix to provide “layers” - using the spacemacs speak- of specialized NixOS/nix-darwin configurations that people could mix and choose from: NixOS for Gaming, NixOS for Local AI Development, NixOS for SecOps/DevOps, but also things like Desktop Rices, ready to use devshells, etc.

Currently the repo is just bare bones and mostly a readme and few structure files, but I’ll be moving basic generic configs from my vix repo. I hope other people already using the dendritic pattern (cc @drupol @mightyiam @quasigod) will find a motivation for we to have common, shareable configurations in dennix so that we can help nixos-adoption and we ourselves can mixin those configs into our particular infra.

Cheers

5 Likes

The name is a bit confusing with GitHub - yunfachi/denix: Nix library for creating scalable NixOS, Home Manager, and Nix-Darwin configurations with modules, hosts, and rices. Is it on purpose ?

did not know about that project. Dennix stands for dendritic nix.

The Denix project has inspired the Unify project (quasigod/unify: A framework for unifying multiple types of Nix configurations, allowing you to easily define them in the same modules. - Codeberg.org) that I am currently evaluating in a PR at refactor: use `unify` framework by drupol · Pull Request #84 · drupol/infra · GitHub, I really like it.

1 Like

Project is now renamed to vic/dendrix to avoid confusion with yunfachi/denix.

Also, yesterday I did wrote a lot of documentation on its motives and how it works. It now includes an overview of community dendritic repos, showing which aspect they define and on which nix classes.

Yesterday I also added support for Unify repos, so we have three of them now.

(there is yours @drupol, look under Available Dendritic Repos. npins ref is pointing to your main branch, tho)

5 Likes