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
8
fork

Configure Feed

Select the types of activity you want to include in your feed.

docs for mutual-provider

+39
+39
docs/src/content/docs/guides/mutual.mdx
··· 142 142 143 143 ``` 144 144 145 + ### User Peers Configuration 146 + 147 + A user `alice` can provide configurations for other users in the same system, 148 + either by name or for all of them (exluding alice itself). 149 + 150 + ```nix 151 + den.ctx.user.includes = [ den._.mutual-provider ]; 152 + 153 + den.aspects.alice = { 154 + provides.bob = { homeManager.programs.vim.enable = true; }; 155 + provides.to-users = { user, ... }: { 156 + homeManager.programs.tmux.enable = lib.elem user.userName [ "carl" "david" ]; 157 + }; 158 + }; 159 + ``` 160 + 161 + ### Standalone HomeManager - Host Specific Configuration 162 + 163 + If you have two standalone homes sharing same user aspect, you can provide host specific 164 + configuration even if the Host is not a NixOS system managed by you. 165 + 166 + ```nix 167 + den.ctx.home.includes = [ den._.mutual-provider ]; 168 + 169 + den.homes.x86_64-linux."tux@igloo" = {}; 170 + den.homes.x86_64-linux."tux@iceberg" = {}; 171 + 172 + den.aspects.tux = { 173 + homeManager.programs.vim.enable = true; # tux on ALL homes and hosts. 174 + 175 + provides.igloo = { 176 + homeManager.programs.helix.enable = true; # ONLY at igloo 177 + }; 178 + 179 + provides.iceberg = { 180 + homeManager.programs.emacs.enable = true; # ONLY at iceberg 181 + }; 182 + }; 183 + ```