anchor.diff:    config = mkIf cfg.enable {
       home.packages = [ pkgs.gnome3.gnome_terminal ];
   
  -    # The dconf service needs to be installed and prepared.
  -    home.activation.gnomeTerminal = dag.entryAfter ["installPackages"] (
  +    dconf.settings =
         let
  -        iniText = toDconfIni (buildIniSet cfg);
  -        iniFile = pkgs.writeText "gnome-terminal.ini" iniText;
  -        dconfPath = "/org/gnome/terminal/legacy/";
  +        dconfPath = "org/gnome/terminal/legacy";
         in
  -        ''
  -          if [[ -v DRY_RUN ]]; then
  -            echo ${pkgs.gnome3.dconf}/bin/dconf load ${dconfPath} "<" ${iniFile}
  -          else
  -            ${pkgs.gnome3.dconf}/bin/dconf load ${dconfPath} < ${iniFile}
  -          fi
  -        ''
  -    );
  +        {
  +          "${dconfPath}" = {
  +            default-show-menubar = cfg.showMenubar;
  +            schema-version = 3;
  +          };
  +
  +          "${dconfPath}/profiles:" = {
  +            default = head (attrNames (filterAttrs (n: v: v.default) cfg.profile));
  +            list = attrNames cfg.profile;
  +          };
  +        }
  +        // mapAttrs' (n: v:
  +          nameValuePair ("${dconfPath}/profiles:/:${n}") (buildProfileSet v)
  +        ) cfg.profile;
     };
   }
  
positive.code: let
  
    cfg = config.programs.gnome-terminal;
  
    dag = config.lib.dag;
  
    profileColorsSubModule = types.submodule (
      { ... }: {
  
negative.code:     }
    );
  
    buildProfileSet = pcfg:
      {
        visible-name = pcfg.visibleName;
  