Modular, context-aware and aspect-oriented dendritic Nix configurations.
Discussions: https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/
den.oeiuwq.com
configurations
den
dendritic
nix
aspect
oriented
1# This is a fully working example configuration.
2# Feel free to remove it, adapt or split into several modules.
3# See documentation at <den>/nix/types.nix
4{ inputs, ... }:
5{
6 den.hosts.aarch64-darwin.honeycrisp.users.alice = { };
7
8 den.hosts.aarch64-linux.emperor.users.alice = { };
9
10 den.hosts.x86_64-linux = {
11 rockhopper = {
12 description = "rockhopper is a kind of penguin";
13 users.alice = { };
14 };
15
16 adelie = {
17 description = "wsl on windows";
18 users.will = { };
19 intoAttr = "wslConfigurations";
20 # custom nixpkgs channel.
21 instantiate = inputs.nixpkgs-stable.lib.nixosSystem;
22 # custom attribute (see home-manager.nix)
23 hm-module = inputs.home-manager-stable.nixosModules.home-manager;
24 # custom attribute (see primary-user.nix)
25 wsl = { };
26 };
27 };
28
29 # move these inputs to any module you want.
30 # they are here for all our examples to work on CI.
31 flake-file.inputs = {
32
33 # these stable inputs are for wsl
34 nixpkgs-stable.url = "github:nixos/nixpkgs/release-25.05";
35 home-manager-stable.url = "github:nix-community/home-manager/release-25.05";
36 home-manager-stable.inputs.nixpkgs.follows = "nixpkgs-stable";
37
38 nixos-wsl = {
39 url = "github:nix-community/nixos-wsl";
40 inputs.nixpkgs.follows = "nixpkgs-stable";
41 inputs.flake-compat.follows = "";
42 };
43
44 darwin = {
45 url = "github:nix-darwin/nix-darwin";
46 inputs.nixpkgs.follows = "nixpkgs";
47 };
48 };
49
50}