Programatically create node + panel configuration?
For some people, Panel Nodes is good enough. Depends on your circumstances. 

The below will create a panel node with 2 column bricks layout and will use the In Place Editor (IPE):

$node = new stdClass();
$node-&gt;title = t('Home');
$node-&gt;type = 'panel';
node_object_prepare($node);
$node-&gt;language = LANGUAGE_NONE;
$node-&gt;status = 1;
$node-&gt;promote = 0;
$node-&gt;comment = 0;

$node-&gt;panels_node = array(
    'layout' =&gt; 'twocol_bricks',
    'css_id' =&gt; NULL,
    'pipeline' =&gt; 'ipe', // change this to "standard" if you don't want to use the In Place Editor (ipe)
);

// node_submit() populates the node with author UID and creation date
$node = node_submit($node);
node_save($node);