about summary refs log tree commit diff
path: root/nixpkgs
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-05-09 22:07:46 +0000
committerAlyssa Ross <hi@alyssa.is>2020-05-09 22:07:46 +0000
commit66b9f32a0e02d959d399596bd38c2c9d66986a46 (patch)
tree5ec4868826e4df8382400a531898bc5d4b4be733 /nixpkgs
parent3d0865959ef612cddf31107bf03b91fa56aac2e9 (diff)
downloadnixlib-66b9f32a0e02d959d399596bd38c2c9d66986a46.tar
nixlib-66b9f32a0e02d959d399596bd38c2c9d66986a46.tar.gz
nixlib-66b9f32a0e02d959d399596bd38c2c9d66986a46.tar.bz2
nixlib-66b9f32a0e02d959d399596bd38c2c9d66986a46.tar.lz
nixlib-66b9f32a0e02d959d399596bd38c2c9d66986a46.tar.xz
nixlib-66b9f32a0e02d959d399596bd38c2c9d66986a46.tar.zst
nixlib-66b9f32a0e02d959d399596bd38c2c9d66986a46.zip
nixos/public-inbox: correctly merge config
This needs to be defined as an attribute set two layers deep so that
multiple settings in the same namespace, declared in two different
modules, will be merged together.

For example, the following previously wouldn't be merged properly:

    { ... }:

    {
      imports = [ (
        { ... }: {
          services.public-inbox.config.publicinbox.listid = "foo.example.com;
        }
      ) ];

      services.public-inbox.config.publicinbox.css =
        "https://example.com/pi.css";
    }
Diffstat (limited to 'nixpkgs')
-rw-r--r--nixpkgs/nixos/modules/services/mail/public-inbox.nix2
1 files changed, 1 insertions, 1 deletions
diff --git a/nixpkgs/nixos/modules/services/mail/public-inbox.nix b/nixpkgs/nixos/modules/services/mail/public-inbox.nix
index f6c08bf2e45b..d503f5aa2ef6 100644
--- a/nixpkgs/nixos/modules/services/mail/public-inbox.nix
+++ b/nixpkgs/nixos/modules/services/mail/public-inbox.nix
@@ -318,7 +318,7 @@ in
       };
 
       config = mkOption {
-        type = types.attrs;
+        type = with types; attrsOf attrs;
         default = {};
         description = ''
           Additional structured config for the public-inbox config file