Dendritic Nix - Community-driven Nix distribution based on the Dendritic pattern.
at main 61 lines 1.8 kB view raw view rendered
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.