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
at main 34 lines 724 B view raw
1{ lib, den, ... }: 2let 3 description = '' 4 Sets user as *primary*. 5 6 On NixOS adds wheel and networkmanager groups. 7 On Darwin sets user as system.primaryUser 8 On WSL sets defaultUser if host has `wsl` support. 9 10 ## Usage 11 12 den.aspects.my-user.includes = [ den._.primary-user ]; 13 14 ''; 15 16 userToHostContext = 17 { user, host, ... }: 18 { 19 inherit description; 20 darwin.system.primaryUser = user.userName; 21 wsl.defaultUser = user.userName; 22 nixos.users.users.${user.userName} = { 23 isNormalUser = true; 24 extraGroups = [ 25 "wheel" 26 "networkmanager" 27 ]; 28 }; 29 }; 30 31in 32{ 33 den.provides.primary-user = den.lib.take.exactly userToHostContext; 34}