How to write a module that provides its own content-type using CCK? I have to write a module that provides its own content type. In the drupal-documentation there is a guide for that; yet, I would have to deal with the CRUD logic inside of my module. I thought I could use CCK to create my new content-type with its fields inside of hook_install();. But I couldn't find any guides on how to do that. 

Can anyone give a short example or provide a link to some decent guide? That would be awesome.
If you goal it to create your own content type, but don't want to deal with the hassle of CRUD, you could use features. It's designed for doing stuff like this.

CCK doesn't actually handle creating new content types, that is part of the node module (Drupal core). If you want to add a node, as if it was done through the interface and don't want to use features you should use hook_node_info:

/**
 * Implementation of hook_node_info().
 */
function module_node_info() {
  $items = array(
    'activity' =&gt; array(
      'name' =&gt; t('Name'),
      'module' =&gt; 'node',
      'description' =&gt; t('Description.'),
      'has_title' =&gt; '1',
      'title_label' =&gt; t('Title'),
      'has_body' =&gt; '1',
      'body_label' =&gt; t('Body'),
      'min_word_count' =&gt; '0',
      'help' =&gt; '',
    ),
  );
  return $items;
}


Setting node to be the owner of the node type lets it handle CRUD etc.