class nodo::subsystem::initramfs(
  $keymap = hiera('nodo::initramfs::keymap', 'absent')
) {
  # Image config
  file { "/etc/kernel-img.conf":
    owner   => "root",
    group   => "root",
    mode    => 0644,
    ensure  => present,
    content => "do_initrd = Yes\n",
  }

  # Modules config
  file { "/etc/initramfs-tools/modules":
    owner   => "root",
    group   => "root",
    mode    => 0644,
    ensure  => present,
    source  => "puppet:///modules/nodo/etc/initramfs-tools/modules",
  }

  # Keymap
  file { "/etc/initramfs-tools/conf.d/keymap.conf":
    ensure  => $keymap,
    content => "KEYMAP=Y\n",
    owner   => "root",
    group   => "root",
    mode    => 0644,
  }

  # Update initramfs when needed
  exec { "update-initramfs -v -t -u":
    subscribe   => [ File["/etc/initramfs-tools/modules"],
                     File["/etc/modprobe.d/blacklist"],
                     File["/etc/initramfs-tools/conf.d/keymap.conf"] ],
    refreshonly => true,
    alias       => 'update-initramfs',
  }
}