summaryrefslogtreecommitdiff
path: root/modules/profiles/manifests/common.pp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--modules/profiles/manifests/common.pp37
1 files changed, 36 insertions, 1 deletions
diff --git a/modules/profiles/manifests/common.pp b/modules/profiles/manifests/common.pp
index dc63951..4cb5226 100644
--- a/modules/profiles/manifests/common.pp
+++ b/modules/profiles/manifests/common.pp
@@ -1,8 +1,43 @@
-class profiles::common {
+class profiles::common (
+ String $timezone,
+ Array[String] $locales = [ 'en_US.UTF-8', ],
+) {
file_line { 'hosts ourself':
ensure => present,
line => "::1\t${facts['name']}\t${::fqdn}",
path => '/etc/hosts',
}
+
+ file { '/etc/localtime':
+ ensure => link,
+ target => "/usr/share/zoneinfo/${timezone}",
+ }
+
+ # TODO possibly check in /usr/share/i18n/locales if file exists
+ # there
+
+ $fixed_locales = ($locales.map |$locale| {
+ if $locale =~ /^[^.]*\.(.*)$/ {
+ "${locale} ${1}"
+ } else {
+ "${locale} UTF-8"
+ }
+ } + [ '' ])
+
+ file { '/etc/locale.gen':
+ content => $fixed_locales.join("\n")
+ } ~> exec { 'locale-gen':
+ path => [ '/bin', '/usr/bin', ],
+ refreshonly => true,
+ }
+
+ file { 'Default locales':
+ path => '/etc/locale.conf',
+ content => @(EOF)
+ LANG=en_US.UTF-8
+ LC_TIME=sv_SE.UTF-8
+ | EOF
+ }
+
}