Dendritic Nix - Community-driven Nix distribution based on the Dendritic pattern.
1# Getting Started
2
3## Usage (for existing flake-parts setups)
4
5Add the `dendrix` input to your flake:
6
7```nix
8# flake.nix -- add the dendrix input:
9{
10 inputs.dendrix.url = "github:vic/dendrix";
11
12 # Flatten dependencies.
13 #inputs.dendrix.inputs.import-tree.follows = "import-tree";
14 #inputs.dendrix.inputs.nixpkgs-lib.follows = "nixpkgs-lib";
15}
16```
17
18Then import Dendrix trees/layers on any flake-parts module of yours:
19
20```nix
21{ inputs, ... }:
22{
23 imports = [
24 # inputs.dendrix.vic-vix.macos-keys # example <macos-keys> aspect.
25 # inputs.dendrix.vix # example layer, see https://github.com/vic/dendrix/tree/main/dev/layers
26 ];
27}
28```
29
30See usage instructions for either [Dendrix Trees](Dendrix-Trees.html#using-community-import-trees) or [Dendrix Layers](Dendrix-Layers.html#using-existing-layers).
31
32## Quick Start (for NixOS newcomers)
33
34> Dendrix is a work in progress. We aim to provide batteries-included preconfigured NixOS experience for newcomers.
35> But we are currently working on it.
36
37We provide some [templates](https://github.com/vic/dendrix/tree/main/templates) you can
38use to start a new system flake.
39
40```
41nix flake init github:vic/dendrix#template
42```
43
44Then edit your [`layers.nix`](https://github.com/vic/dendrix/tree/main/templates/default/modules/layers.nix) file.
45
46### Try it Online!
47
48If you are not currently a NixOS user, you can try
49running an ephemeral NixOS on the web.
50
51- Go to [Distrosea NixOS](https://distrosea.com/select/nixos/), select latest `minimal` release.
52- Start a machine and run the following:
53
54```shell
55nix run .#os-switch template
56```
57
58## Customization
59
60Once you have a `./modules/` directory on your flake, just add flake-parts modules following the dendritic pattern.
61All files will be loaded automatically. Edit your `layers.nix` to include dendrix provided aspects you choose.