fix config attributes contrain mechanism for SP modules
Now it should work for all nested imports too. `imports` are traversed recursively to redefine each imported module function with altered one, constraining its config attribute (respecting config-paths-needed.json).
This commit is contained in:
@@ -1,24 +1,16 @@
|
||||
[
|
||||
[
|
||||
"services",
|
||||
"redis"
|
||||
],
|
||||
[
|
||||
"mailserver"
|
||||
],
|
||||
[
|
||||
"selfprivacy",
|
||||
"userdata",
|
||||
"email"
|
||||
],
|
||||
[
|
||||
"selfprivacy",
|
||||
"userdata",
|
||||
"domain"
|
||||
],
|
||||
[
|
||||
"selfprivacy",
|
||||
"userdata",
|
||||
"username"
|
||||
]
|
||||
[ "mailserver" ],
|
||||
[ "selfprivacy", "userdata", "domain" ],
|
||||
[ "selfprivacy", "userdata", "email" ],
|
||||
[ "selfprivacy", "userdata", "hashedMasterPassword" ],
|
||||
[ "selfprivacy", "userdata", "simple-nixos-mailserver" ],
|
||||
[ "selfprivacy", "userdata", "useBinds" ],
|
||||
[ "selfprivacy", "userdata", "username" ],
|
||||
[ "selfprivacy", "userdata", "users" ],
|
||||
[ "services", "dovecot2" ],
|
||||
[ "services", "opendkim" ],
|
||||
[ "services", "postfix", "group" ],
|
||||
[ "services", "postfix", "user" ],
|
||||
[ "services", "redis" ],
|
||||
[ "services", "rspamd" ]
|
||||
]
|
||||
|
@@ -6,17 +6,14 @@
|
||||
|
||||
outputs = { self, mailserver }: {
|
||||
# tricks to rename (alias) the original module
|
||||
nixosModules.default = args@{ pkgs, ... }:
|
||||
nixosModules.default = args@{ pkgs, config, ... }:
|
||||
let
|
||||
module = mailserver.nixosModules.default args;
|
||||
in
|
||||
module // {
|
||||
imports = module.imports ++ [
|
||||
./config.nix
|
||||
({ config, ... }: {
|
||||
mailserver =
|
||||
config.selfprivacy.userdata.simple-nixos-mailserver;
|
||||
})
|
||||
{ mailserver = config.selfprivacy.userdata.simple-nixos-mailserver; }
|
||||
];
|
||||
options = module.options // {
|
||||
selfprivacy.userdata.simple-nixos-mailserver =
|
||||
|
Reference in New Issue
Block a user