Getting Started
Usage (for existing flake-parts setups)
Add the dendrix
input to your flake:
# flake.nix -- add the dendrix input:
{
inputs.dendrix.url = "github:vic/dendrix";
# Flatten dependencies.
#inputs.dendrix.inputs.import-tree.follows = "import-tree";
#inputs.dendrix.inputs.nixpkgs-lib.follows = "nixpkgs-lib";
}
Then import Dendrix trees/layers on any flake-parts module of yours:
{ inputs, ... }:
{
imports = [
# inputs.dendrix.vic-vix.macos-keys # example <macos-keys> aspect.
# inputs.dendrix.vix # example layer, see https://github.com/vic/dendrix/tree/main/dev/layers
];
}
See usage instructions for either Dendrix Trees or Dendrix Layers.
Quick Start (for NixOS newcomers)
Dendrix is a work in progress. We aim to provide batteries-included preconfigured NixOS experience for newcomers. But we are currently working on it.
We provide some templates you can use to start a new system flake.
nix flake init github:vic/dendrix#template
Then edit your layers.nix
file.
Try it Online!
If you are not currently a NixOS user, you can try running an ephemereal NixOS on the web.
Start a machine and run the following:
nix run .#os-switch template
Customization
Once you have a ./modules/
directory on your flake, just add flake-parts modules following the dendritic pattern.
All files will be loaded automatically. Edit your layers.nix
to include dendrix provided aspects you choose.