forked from Fediversity/fediversity.eu
make template overrides chainable
This commit is contained in:
parent
c11da792d7
commit
9c2b543e47
15
lib.nix
15
lib.nix
|
@ -1,7 +1,20 @@
|
|||
{ lib }:
|
||||
rec {
|
||||
template = g: f: x:
|
||||
(g (f x)) // { override = o: g (lib.recursiveUpdate (f x) o); };
|
||||
let
|
||||
base = f x;
|
||||
result = g base;
|
||||
in
|
||||
result // {
|
||||
override = new:
|
||||
let
|
||||
base' = lib.recursiveUpdate base new;
|
||||
result' = g base';
|
||||
in
|
||||
result' // {
|
||||
override = new: (template g (x': base') x).override new;
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
Recursively replace occurrences of `from` with `to` within `string`
|
||||
|
|
Reference in a new issue