let eol = Util.eol
let comment = Util.comment
let empty = Util.empty
+let dels = Util.del_str
let colon = Sep.colon
let comma = Sep.comma
let sto_to_spc = store Rx.space_in
+let sto_to_col = Passwd.sto_to_col
let word = Rx.word
let password = /[A-Za-z0-9_.!*-]*/
. user_list?
let entry = Build.key_value_line word colon params
+let nisdefault =
+ let overrides =
+ colon
+ . [ label "password" . store password? . colon ]
+ . [ label "gid" . store integer? . colon ]
+ . user_list? in
+ [ dels "+" . label "@nisdefault" . overrides? . eol ]
+
+
(************************************************************************
* LENS
*************************************************************************)
-let lns = (comment|empty|entry) *
+let lns = (comment|empty|entry|nisdefault) *
-let filter
- = incl "/etc/group"
- . Util.stdexcl
+let filter = incl "/etc/group"
let xfm = transform lns filter