1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{ lib }:
let
inherit (builtins)
substring
elem
;
inherit (lib)
mapAttrs'
stringToCharacters
nameValuePair
;
start = stringToCharacters "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_";
in
_: mapAttrs' (name: nameValuePair
(if elem (substring 0 1 name) start then name else "_${name}"))