From 98a071604ea9f7569aa0fa0688bc9d35081770c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Tue, 2 Oct 2018 22:53:29 +0200 Subject: Add Flony workstation --- bin/install_workstation | 25 + environments/global/common.yaml | 1 + environments/global/types/vps-ovhssd-1.yaml | 1 - environments/hiera.yaml | 3 + environments/workstation/hiera.yaml | 1 + environments/workstation/machines/flony.yaml | 16 + modules/base_installation/lib/facter/ldapvar.rb | 2 +- modules/base_installation/manifests/grub.pp | 49 +- modules/base_installation/manifests/init.pp | 3 + modules/base_installation/manifests/ldap.pp | 102 ++-- modules/base_installation/manifests/locales.pp | 13 +- modules/base_installation/manifests/params.pp | 5 +- modules/base_installation/manifests/puppet.pp | 110 ++-- .../templates/puppet/host_ldap_add_top.info.erb | 2 +- .../templates/puppet/host_ldap_mod_top.info.erb | 2 +- .../templates/puppet/puppet.conf.erb | 2 + .../templates/services/en-dhcp.network.erb | 2 +- modules/workstation/files/flony/home/bash_profile | 3 + modules/workstation/files/flony/home/bashrc | 9 + .../home/config/autostart/redshift-gtk.desktop | 7 + .../files/flony/home/config/libfm/libfm.conf | 43 ++ .../files/flony/home/config/lxpanel/LXDE/config | 2 + .../flony/home/config/lxpanel/LXDE/panels/panel | 168 ++++++ .../flony/home/config/lxpanel/launchtaskbar.cfg | 4 + .../config/lxsession-default-apps/settings.conf | 45 ++ .../flony/home/config/lxsession/LXDE/autostart | 3 + .../flony/home/config/lxsession/LXDE/desktop.conf | 52 ++ .../flony/home/config/lxterminal/lxterminal.conf | 53 ++ .../files/flony/home/config/openbox/lxde-rc.xml | 666 +++++++++++++++++++++ .../home/config/pcmanfm/LXDE/desktop-items-0.conf | 14 + .../flony/home/config/pcmanfm/LXDE/pcmanfm.conf | 27 + .../files/flony/home/config/redshift.conf | 8 + modules/workstation/files/flony/home/gitconfig | 6 + .../home/local/share/applications/mimeapps.list | 19 + modules/workstation/files/flony/home/xinitrc | 2 + .../workstation/files/flony/wlp2s0-dhcp.network | 6 + modules/workstation/files/flony/xorg_intel.conf | 7 + modules/workstation/manifests/flony.pp | 120 ++++ 38 files changed, 1477 insertions(+), 126 deletions(-) create mode 100755 bin/install_workstation create mode 120000 environments/workstation/hiera.yaml create mode 100644 environments/workstation/machines/flony.yaml create mode 100644 modules/workstation/files/flony/home/bash_profile create mode 100644 modules/workstation/files/flony/home/bashrc create mode 100644 modules/workstation/files/flony/home/config/autostart/redshift-gtk.desktop create mode 100644 modules/workstation/files/flony/home/config/libfm/libfm.conf create mode 100644 modules/workstation/files/flony/home/config/lxpanel/LXDE/config create mode 100644 modules/workstation/files/flony/home/config/lxpanel/LXDE/panels/panel create mode 100644 modules/workstation/files/flony/home/config/lxpanel/launchtaskbar.cfg create mode 100644 modules/workstation/files/flony/home/config/lxsession-default-apps/settings.conf create mode 100644 modules/workstation/files/flony/home/config/lxsession/LXDE/autostart create mode 100644 modules/workstation/files/flony/home/config/lxsession/LXDE/desktop.conf create mode 100644 modules/workstation/files/flony/home/config/lxterminal/lxterminal.conf create mode 100644 modules/workstation/files/flony/home/config/openbox/lxde-rc.xml create mode 100644 modules/workstation/files/flony/home/config/pcmanfm/LXDE/desktop-items-0.conf create mode 100644 modules/workstation/files/flony/home/config/pcmanfm/LXDE/pcmanfm.conf create mode 100644 modules/workstation/files/flony/home/config/redshift.conf create mode 100644 modules/workstation/files/flony/home/gitconfig create mode 100644 modules/workstation/files/flony/home/local/share/applications/mimeapps.list create mode 100644 modules/workstation/files/flony/home/xinitrc create mode 100644 modules/workstation/files/flony/wlp2s0-dhcp.network create mode 100644 modules/workstation/files/flony/xorg_intel.conf create mode 100644 modules/workstation/manifests/flony.pp diff --git a/bin/install_workstation b/bin/install_workstation new file mode 100755 index 0000000..8e0aadf --- /dev/null +++ b/bin/install_workstation @@ -0,0 +1,25 @@ + +CODE_PATH="/etc/puppetlabs/code" +# Needs to be run manually +# Mount /mnt, /mnt/boot, ... +# pacstrap /mnt base git puppet +# genfstab -U /mnt >> /mnt/etc/fstab +# arch-chroot /mnt +# git clone https://git.immae.eu/perso/Immae/Projets/Puppet.git $CODE_PATH + +export FACTER_in_chroot=yes +export FACTER_workstation_name="$1" + +if [ -z "$FACTER_workstation_name" ]; then + echo "Need to specify workstation name as first argument" + exit 1 +fi + +git submodule update --init + +pacman-key --init +pacman-key --populate archlinux + +puppet apply --environment workstation --tags base_installation --modulepath $CODE_PATH/modules:$CODE_PATH/external_modules --test $CODE_PATH/manifests/site.pp +# The password seed requires puppet to be run twice +puppet apply --environment workstation --tags base_installation --modulepath $CODE_PATH/modules:$CODE_PATH/external_modules --test $CODE_PATH/manifests/site.pp diff --git a/environments/global/common.yaml b/environments/global/common.yaml index 2f2db35..4313244 100644 --- a/environments/global/common.yaml +++ b/environments/global/common.yaml @@ -16,6 +16,7 @@ lookup_options: classes: stdlib: ~ +base_installation::ldap_enabled: true base_installation::ldap_base: "dc=immae,dc=eu" base_installation::ldap_dn: "cn=%{facts.ec2_metadata.hostname},ou=hosts,dc=immae,dc=eu" base_installation::ldap_cn: "%{facts.ec2_metadata.hostname}" diff --git a/environments/global/types/vps-ovhssd-1.yaml b/environments/global/types/vps-ovhssd-1.yaml index 8dd512c..8a8d87b 100644 --- a/environments/global/types/vps-ovhssd-1.yaml +++ b/environments/global/types/vps-ovhssd-1.yaml @@ -5,7 +5,6 @@ classes: base_installation::system_hostname: "%{ldapvar.self.vars.host.0}" base_installation::real_hostname: "%{facts.ec2_metadata.hostname}.ovh.net" -base_installation::grub_device: "/dev/sdb" base_installation::ldap_cert_path: "/etc/ssl/certs/ca-certificates.crt" letsencrypt::try_for_real_hostname: false profile::xmr_stak::cpulimit: "90" diff --git a/environments/hiera.yaml b/environments/hiera.yaml index 61d40d8..46d560d 100644 --- a/environments/hiera.yaml +++ b/environments/hiera.yaml @@ -27,6 +27,9 @@ hierarchy: path: "types/%{facts.ec2_metadata.instance-type}.yaml" datadir: ../global + - name: "Per-machine data" + path: "machines/%{facts.workstation_name}.yaml" + - name: "Common environment data" path: "common.yaml" diff --git a/environments/workstation/hiera.yaml b/environments/workstation/hiera.yaml new file mode 120000 index 0000000..91d9bbf --- /dev/null +++ b/environments/workstation/hiera.yaml @@ -0,0 +1 @@ +../hiera.yaml \ No newline at end of file diff --git a/environments/workstation/machines/flony.yaml b/environments/workstation/machines/flony.yaml new file mode 100644 index 0000000..71b7e7f --- /dev/null +++ b/environments/workstation/machines/flony.yaml @@ -0,0 +1,16 @@ +--- +classes: + base_installation: + stage: "setup" + workstation::flony: ~ + +base_installation::system_hostname: "%{facts.workstation_name}" +base_installation::real_hostname: "%{facts.workstation_name}.home.immae.eu" +base_installation::cryptroot_device: "81705a1f-b029-46f5-8900-721ede1fe57b" +base_installation::grub_device: "/dev/nvme0n1p2" +base_installation::grub_efi_device: "/dev/nvme0n1p1" +base_installation::ldap_enabled: false +base_installation::system_users: + - userid: 1000 + username: ismael + groups: [wheel] diff --git a/modules/base_installation/lib/facter/ldapvar.rb b/modules/base_installation/lib/facter/ldapvar.rb index 08d58e4..c3379e8 100644 --- a/modules/base_installation/lib/facter/ldapvar.rb +++ b/modules/base_installation/lib/facter/ldapvar.rb @@ -5,7 +5,7 @@ begin Facter.add("ldapvar") do setcode do if Puppet[:node_terminus].to_sym != :ldap - data = [] + data = {} else begin conn = Puppet::Util::Ldap::Connection.instance diff --git a/modules/base_installation/manifests/grub.pp b/modules/base_installation/manifests/grub.pp index 208b745..9ced43f 100644 --- a/modules/base_installation/manifests/grub.pp +++ b/modules/base_installation/manifests/grub.pp @@ -1,22 +1,41 @@ class base_installation::grub inherits base_installation { ensure_packages(['grub']) - # unless empty($base_installation::grub_device) { - # exec { 'install GRUB': - # command => "/usr/bin/grub-install --target=i386-pc $base_installation::device", - # subscribe => Package["grub"], - # } - # } + if !empty($base_installation::grub_efi_device) { + ensure_packages(['efibootmgr']) + exec { 'install GRUB UEFI': + command => "/usr/bin/mkdir /boot/efi && /usr/bin/mount ${base_installation::grub_efi_device} /boot/efi && /usr/bin/grub-install --efi-directory=/boot/efi --target=x86_64-efi && /usr/bin/umount /boot/efi && /usr/bin/rmdir /boot/efi", + creates => "/boot/grub/x86_64-efi", + subscribe => Package["grub"], + } + } elsif !empty($base_installation::grub_device) { + exec { 'install GRUB MBR': + command => "/usr/bin/grub-install --target=i386-pc $base_installation::grub_device", + creates => "/boot/grub/i386-pc", + subscribe => Package["grub"], + } + } - file_line { "/etc/default/grub#GRUB_CMDLINE_LINUX": - path => "/etc/default/grub", - line => 'GRUB_CMDLINE_LINUX=" console=tty0 console=ttyS0,115200"', - match => '^GRUB_CMDLINE_LINUX=', - require => Package["grub"], + if ($environment == "workstation" and !empty($base_installation::cryptroot_device)) { + file_line { "/etc/default/grub#GRUB_CMDLINE_LINUX": + path => "/etc/default/grub", + line => "GRUB_CMDLINE_LINUX=\" cryptdevice=UUID=${base_installation::cryptroot_device}:cryptroot\"", + match => '^GRUB_CMDLINE_LINUX=', + require => Package["grub"], + notify => Exec["update GRUB config"], + } + } elsif ($environment != "workstation") { + file_line { "/etc/default/grub#GRUB_CMDLINE_LINUX": + path => "/etc/default/grub", + line => 'GRUB_CMDLINE_LINUX=" console=tty0 console=ttyS0,115200"', + match => '^GRUB_CMDLINE_LINUX=', + require => Package["grub"], + notify => Exec["update GRUB config"], + } } - # exec { 'update GRUB config': - # command => "/usr/bin/grub-mkconfig -o /boot/grub/grub.cfg", - # refreshonly => true - # } + exec { 'update GRUB config': + command => "/usr/bin/grub-mkconfig -o /boot/grub/grub.cfg", + refreshonly => true + } } diff --git a/modules/base_installation/manifests/init.pp b/modules/base_installation/manifests/init.pp index a1b5ca8..5726494 100644 --- a/modules/base_installation/manifests/init.pp +++ b/modules/base_installation/manifests/init.pp @@ -1,5 +1,8 @@ class base_installation ( + Optional[String] $cryptroot_device = $base_installation::params::cryptroot_device, + Optional[String] $grub_efi_device = $base_installation::params::grub_efi_device, Optional[String] $grub_device = $base_installation::params::grub_device, + Optional[Boolean] $ldap_enabled = $base_installation::params::ldap_enabled, Optional[String] $ldap_base = $base_installation::params::ldap_base, Optional[String] $ldap_cert_path = $base_installation::params::ldap_cert_path, Optional[String] $ldap_cn = $base_installation::params::ldap_cn, diff --git a/modules/base_installation/manifests/ldap.pp b/modules/base_installation/manifests/ldap.pp index 9291402..7c48be3 100644 --- a/modules/base_installation/manifests/ldap.pp +++ b/modules/base_installation/manifests/ldap.pp @@ -1,69 +1,71 @@ class base_installation::ldap inherits base_installation { - ensure_packages(["openldap"]) + if ($base_installation::ldap_enabled) { + ensure_packages(["openldap"]) - File { - mode => "0644", - owner => "root", - group => "root", - } - - file { '/etc/openldap': - ensure => directory, - require => Package["openldap"], - recurse => true, - purge => true, - force => true, - } - - file { '/etc/openldap/ldap.conf': - ensure => present, - content => template("base_installation/ldap/ldap.conf.erb"), - require => File['/etc/openldap'], - } + File { + mode => "0644", + owner => "root", + group => "root", + } - $password_seed = lookup("base_installation::puppet_pass_seed") - unless empty(find_file($password_seed)) { - $ldap_server = lookup("base_installation::ldap_server") - $ldap_base = lookup("base_installation::ldap_base") - $ldap_dn = lookup("base_installation::ldap_dn") - $ldap_password = generate_password(24, $password_seed, "ldap") - $ldap_attribute = "uid" + file { '/etc/openldap': + ensure => directory, + require => Package["openldap"], + recurse => true, + purge => true, + force => true, + } - ensure_packages(["pam_ldap", "ruby-augeas"]) - file { "/etc/pam_ldap.conf": - ensure => "present", - mode => "0400", - owner => "root", - group => "root", - content => template("base_installation/ldap/pam_ldap.conf.erb"), + file { '/etc/openldap/ldap.conf': + ensure => present, + content => template("base_installation/ldap/ldap.conf.erb"), + require => File['/etc/openldap'], } - ["system-auth", "passwd"].each |$service| { - pam { "Allow to change ldap password via $service": - ensure => present, - service => $service, - type => "password", - control => "[success=done new_authtok_reqd=ok authinfo_unavail=ignore ignore=ignore default=bad]", - module => "pam_ldap.so", - arguments => ["ignore_unknown_user", "ignore_authinfo_unavail"], - position => 'before *[type="password" and module="pam_unix.so"]', - require => Package["ruby-augeas"], + $password_seed = lookup("base_installation::puppet_pass_seed") + unless empty(find_file($password_seed)) { + $ldap_server = lookup("base_installation::ldap_server") + $ldap_base = lookup("base_installation::ldap_base") + $ldap_dn = lookup("base_installation::ldap_dn") + $ldap_password = generate_password(24, $password_seed, "ldap") + $ldap_attribute = "uid" + + ensure_packages(["pam_ldap", "ruby-augeas"]) + file { "/etc/pam_ldap.conf": + ensure => "present", + mode => "0400", + owner => "root", + group => "root", + content => template("base_installation/ldap/pam_ldap.conf.erb"), } - } - ["system-auth", "su", "su-l"].each |$service| { - ["auth", "account"].each |$type| { - pam { "Allow $service to $type with ldap password": + ["system-auth", "passwd"].each |$service| { + pam { "Allow to change ldap password via $service": ensure => present, service => $service, - type => $type, + type => "password", control => "[success=done new_authtok_reqd=ok authinfo_unavail=ignore ignore=ignore default=bad]", module => "pam_ldap.so", arguments => ["ignore_unknown_user", "ignore_authinfo_unavail"], - position => "before *[type=\"$type\" and module=\"pam_unix.so\"]", + position => 'before *[type="password" and module="pam_unix.so"]', require => Package["ruby-augeas"], } } + + ["system-auth", "su", "su-l"].each |$service| { + ["auth", "account"].each |$type| { + pam { "Allow $service to $type with ldap password": + ensure => present, + service => $service, + type => $type, + control => "[success=done new_authtok_reqd=ok authinfo_unavail=ignore ignore=ignore default=bad]", + module => "pam_ldap.so", + arguments => ["ignore_unknown_user", "ignore_authinfo_unavail"], + position => "before *[type=\"$type\" and module=\"pam_unix.so\"]", + require => Package["ruby-augeas"], + } + } + } } } } diff --git a/modules/base_installation/manifests/locales.pp b/modules/base_installation/manifests/locales.pp index 0f31e0b..90dabee 100644 --- a/modules/base_installation/manifests/locales.pp +++ b/modules/base_installation/manifests/locales.pp @@ -29,9 +29,16 @@ class base_installation::locales inherits base_installation { } - file { "/etc/vconsole.conf": - ensure => "link", - target => "/dev/null", + if ($environment == "workstation") { + file { "/etc/vconsole.conf": + ensure => "file", + content => "KEYMAP=fr", + } + } else { + file { "/etc/vconsole.conf": + ensure => "link", + target => "/dev/null", + } } } diff --git a/modules/base_installation/manifests/params.pp b/modules/base_installation/manifests/params.pp index f336b65..0ceb99c 100644 --- a/modules/base_installation/manifests/params.pp +++ b/modules/base_installation/manifests/params.pp @@ -4,7 +4,10 @@ class base_installation::params { $puppet_notifies_path = "/etc/puppetlabs/notifies" $puppet_pass_seed = "/etc/puppetlabs/puppet/password_seed" $puppet_ssl_path = "/etc/puppetlabs/ssl" - $grub_device = "/dev/sda" + $cryptroot_device = "" + $grub_device = "" + $grub_efi_device = "" + $ldap_enabled = true $ldap_base = "dc=example,dc=com" $ldap_cn = "node" $ldap_dn = "cn=node,ou=hosts,dc=example,dc=com" diff --git a/modules/base_installation/manifests/puppet.pp b/modules/base_installation/manifests/puppet.pp index 603a961..8040017 100644 --- a/modules/base_installation/manifests/puppet.pp +++ b/modules/base_installation/manifests/puppet.pp @@ -52,21 +52,25 @@ class base_installation::puppet ( } unless empty(find_file($password_seed)) { - $ldap_password = generate_password(24, $password_seed, "ldap") - $ssha_ldap_seed = generate_password(5, $password_seed, "ldap_seed") - - package { 'gem:ruby-ldap': - name => "ruby-ldap", - ensure => present, - provider => "gem", - install_options => "--no-user-install" - } + if ($base_installation::ldap_enabled) { + $ldap_password = generate_password(24, $password_seed, "ldap") + $ssha_ldap_seed = generate_password(5, $password_seed, "ldap_seed") + + package { 'gem:ruby-ldap': + name => "ruby-ldap", + ensure => present, + provider => "gem", + install_options => "--no-user-install", + before => File["$base_installation::puppet_conf_path"] + } - package { 'gem:xmpp4r': - name => "xmpp4r", - ensure => present, - provider => "gem", - install_options => "--no-user-install" + package { 'gem:xmpp4r': + name => "xmpp4r", + ensure => present, + provider => "gem", + install_options => "--no-user-install", + before => File["$base_installation::puppet_conf_path"] + } } file { $password_seed: @@ -75,7 +79,7 @@ class base_installation::puppet ( file { $base_installation::puppet_conf_path: ensure => directory, - require => [Package["puppet"], Package["gem:xmpp4r"], Package["gem:ruby-ldap"]], + require => [Package["puppet"]], recurse => true, purge => true, force => true, @@ -103,47 +107,49 @@ class base_installation::puppet ( } } - if file("$base_installation::puppet_notifies_path/host_ldap.info", "/dev/null") != "" and - empty($facts["ldapvar"]) { - fail("LDAP was activated but facts are not available") - } + if ($base_installation::ldap_enabled) { + if file("$base_installation::puppet_notifies_path/host_ldap.info", "/dev/null") != "" and + empty($facts["ldapvar"]) { + fail("LDAP was activated but facts are not available") + } - file { $base_installation::puppet_notifies_path: - ensure => directory, - require => [Package["puppet"], Package["gem:xmpp4r"], Package["gem:ruby-ldap"]], - recurse => true, - purge => true, - force => true, - } + file { $base_installation::puppet_notifies_path: + ensure => directory, + require => [Package["puppet"], Package["gem:xmpp4r"], Package["gem:ruby-ldap"]], + recurse => true, + purge => true, + force => true, + } - $ips = lookup("ips", { 'default_value' => undef }) - concat { "$base_installation::puppet_notifies_path/host_ldap.info": - ensure => "present", - mode => "0600", - require => File[$base_installation::puppet_notifies_path], - ensure_newline => true, - } + $ips = lookup("ips", { 'default_value' => undef }) + concat { "$base_installation::puppet_notifies_path/host_ldap.info": + ensure => "present", + mode => "0600", + require => File[$base_installation::puppet_notifies_path], + ensure_newline => true, + } - concat::fragment { "host_ldap add top": - target => "$base_installation::puppet_notifies_path/host_ldap.info", - content => template("base_installation/puppet/host_ldap_add_top.info.erb"), - order => "00-01", - } - concat::fragment { "host_ldap add bottom": - target => "$base_installation::puppet_notifies_path/host_ldap.info", - content => "EOF", - order => "00-99", - } + concat::fragment { "host_ldap add top": + target => "$base_installation::puppet_notifies_path/host_ldap.info", + content => template("base_installation/puppet/host_ldap_add_top.info.erb"), + order => "00-01", + } + concat::fragment { "host_ldap add bottom": + target => "$base_installation::puppet_notifies_path/host_ldap.info", + content => "EOF", + order => "00-99", + } - concat::fragment { "host_ldap mod top": - target => "$base_installation::puppet_notifies_path/host_ldap.info", - content => template("base_installation/puppet/host_ldap_mod_top.info.erb"), - order => "01-01", - } - concat::fragment { "host_ldap mod bottom": - target => "$base_installation::puppet_notifies_path/host_ldap.info", - content => "EOF", - order => "01-99", + concat::fragment { "host_ldap mod top": + target => "$base_installation::puppet_notifies_path/host_ldap.info", + content => template("base_installation/puppet/host_ldap_mod_top.info.erb"), + order => "01-01", + } + concat::fragment { "host_ldap mod bottom": + target => "$base_installation::puppet_notifies_path/host_ldap.info", + content => "EOF", + order => "01-99", + } } } } diff --git a/modules/base_installation/templates/puppet/host_ldap_add_top.info.erb b/modules/base_installation/templates/puppet/host_ldap_add_top.info.erb index 3aafc19..544f445 100644 --- a/modules/base_installation/templates/puppet/host_ldap_add_top.info.erb +++ b/modules/base_installation/templates/puppet/host_ldap_add_top.info.erb @@ -6,7 +6,7 @@ objectclass: device objectclass: top objectclass: simpleSecurityObject objectclass: puppetClient -<%- unless @ips.empty? -%> +<%- unless @ips.nil? || @ips.empty? -%> objectclass: ipHost <% unless @ips["v4"].nil? -%>ipHostNumber: <%= @ips["v4"]["ipAddress"] %><%- end %> <% unless @ips["v6"].nil? -%>ipHostNumber: <%= @ips["v6"]["ipAddress"] %>/<%= @ips["v6"]["mask"] %><%- end %> diff --git a/modules/base_installation/templates/puppet/host_ldap_mod_top.info.erb b/modules/base_installation/templates/puppet/host_ldap_mod_top.info.erb index d7a1294..b1a4906 100644 --- a/modules/base_installation/templates/puppet/host_ldap_mod_top.info.erb +++ b/modules/base_installation/templates/puppet/host_ldap_mod_top.info.erb @@ -7,7 +7,7 @@ userpassword: {SSHA}<%= Base64.encode64(Digest::SHA1.digest(@ldap_password+@ssha - replace: environment environment: <%= @environment %> -<%- unless @ips.empty? -%> +<%- unless @ips.nil? || @ips.empty? -%> - delete: ipHostNumber <%- unless @ips["v4"].nil? -%> diff --git a/modules/base_installation/templates/puppet/puppet.conf.erb b/modules/base_installation/templates/puppet/puppet.conf.erb index 38a0c1b..4233b86 100644 --- a/modules/base_installation/templates/puppet/puppet.conf.erb +++ b/modules/base_installation/templates/puppet/puppet.conf.erb @@ -16,6 +16,7 @@ ssldir = <%= @puppet_ssl_path %> environment = <%= @environment %> +<% if @ldap_enabled %> node_terminus = ldap certname = <%= @real_hostname %> ldapserver = <%= @ldap_server %> @@ -26,3 +27,4 @@ ldappassword = <%= @ldap_password %> ldapclassattrs = puppetClass ldapparentattr = parentNode ldapstackedattrs = puppetVar +<% end %> diff --git a/modules/base_installation/templates/services/en-dhcp.network.erb b/modules/base_installation/templates/services/en-dhcp.network.erb index 0255595..98cb446 100644 --- a/modules/base_installation/templates/services/en-dhcp.network.erb +++ b/modules/base_installation/templates/services/en-dhcp.network.erb @@ -4,7 +4,7 @@ Name=en* [Network] DHCP=ipv4 -<%- unless @ip6.empty? -%> +<%- unless @ip6.nil? || @ip6.empty? -%> Gateway=<%= @ip6["gateway"] %> [Address] diff --git a/modules/workstation/files/flony/home/bash_profile b/modules/workstation/files/flony/home/bash_profile new file mode 100644 index 0000000..3304d79 --- /dev/null +++ b/modules/workstation/files/flony/home/bash_profile @@ -0,0 +1,3 @@ +if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then + exec startx +fi diff --git a/modules/workstation/files/flony/home/bashrc b/modules/workstation/files/flony/home/bashrc new file mode 100644 index 0000000..a355b0c --- /dev/null +++ b/modules/workstation/files/flony/home/bashrc @@ -0,0 +1,9 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +alias ls='ls --color=auto' +PS1='[\u@\h \W]\$ ' diff --git a/modules/workstation/files/flony/home/config/autostart/redshift-gtk.desktop b/modules/workstation/files/flony/home/config/autostart/redshift-gtk.desktop new file mode 100644 index 0000000..3fc7814 --- /dev/null +++ b/modules/workstation/files/flony/home/config/autostart/redshift-gtk.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=Redshift +GenericName=Redshift +Exec=/usr/bin/redshift-gtk +Icon=redshift +Terminal=false +Type=Application diff --git a/modules/workstation/files/flony/home/config/libfm/libfm.conf b/modules/workstation/files/flony/home/config/libfm/libfm.conf new file mode 100644 index 0000000..5daa519 --- /dev/null +++ b/modules/workstation/files/flony/home/config/libfm/libfm.conf @@ -0,0 +1,43 @@ +# Configuration file for the libfm version 1.3.0.2. +# Autogenerated file, don't edit, your changes will be overwritten. + +[config] +single_click=0 +use_trash=1 +confirm_del=1 +confirm_trash=1 +advanced_mode=0 +si_unit=0 +force_startup_notify=1 +backup_as_hidden=1 +no_usb_trash=1 +no_child_non_expandable=0 +show_full_names=0 +only_user_templates=0 +template_run_app=0 +template_type_once=0 +auto_selection_delay=600 +drop_default_action=auto +defer_content_test=0 +quick_exec=0 +thumbnail_local=1 +thumbnail_max=2048 +smart_desktop_autodrop=1 + +[ui] +big_icon_size=48 +small_icon_size=24 +pane_icon_size=24 +thumbnail_size=128 +show_thumbnail=1 +shadow_hidden=0 + +[places] +places_home=1 +places_desktop=1 +places_root=0 +places_computer=0 +places_trash=1 +places_applications=1 +places_network=0 +places_unmounted=1 diff --git a/modules/workstation/files/flony/home/config/lxpanel/LXDE/config b/modules/workstation/files/flony/home/config/lxpanel/LXDE/config new file mode 100644 index 0000000..76228e2 --- /dev/null +++ b/modules/workstation/files/flony/home/config/lxpanel/LXDE/config @@ -0,0 +1,2 @@ +[Command] +Logout=lxde-logout diff --git a/modules/workstation/files/flony/home/config/lxpanel/LXDE/panels/panel b/modules/workstation/files/flony/home/config/lxpanel/LXDE/panels/panel new file mode 100644 index 0000000..320c761 --- /dev/null +++ b/modules/workstation/files/flony/home/config/lxpanel/LXDE/panels/panel @@ -0,0 +1,168 @@ +# lxpanel config file. Manually editing is not recommended. +# Use preference dialog in lxpanel to adjust config when you can. + +Global { + edge=bottom + align=left + margin=0 + widthtype=percent + width=100 + height=26 + transparent=0 + tintcolor=#000000 + alpha=0 + setdocktype=1 + setpartialstrut=1 + autohide=0 + heightwhenhidden=0 + usefontcolor=1 + fontcolor=#ffffff + background=1 + backgroundfile=/usr/share/lxpanel/images/background.png +} +Plugin { + type=space + Config { + Size=2 + } +} +Plugin { + type=menu + Config { + image=/usr/share/lxde/images/lxde-icon.png + system { + } + separator { + } + item { + command=run + } + separator { + } + item { + image=gnome-logout + command=logout + } + } +} +Plugin { + type=launchbar + Config { + Button { + id=pcmanfm.desktop + } + Button { + id=firefox.desktop + } + } +} +Plugin { + type=space + Config { + Size=4 + } +} +Plugin { + type=wincmd + Config { + Button1=iconify + Button2=shade + } +} +Plugin { + type=space + Config { + Size=4 + } +} +Plugin { + type=pager + Config { + } +} +Plugin { + type=space + Config { + Size=4 + } +} +Plugin { + type=taskbar + expand=1 + Config { + tooltips=1 + IconsOnly=0 + AcceptSkipPager=1 + ShowIconified=1 + ShowMapped=1 + ShowAllDesks=0 + UseMouseWheel=1 + UseUrgencyHint=1 + FlatButton=0 + MaxTaskWidth=150 + spacing=1 + } +} +Plugin { + type=monitors + Config { + DisplayCPU=1 + DisplayRAM=1 + CPUColor=#0000FF + RAMColor=#FF0000 + } +} +Plugin { + type=volume + Config { + VolumeMuteKey=XF86AudioMute + VolumeDownKey=XF86AudioLowerVolume + VolumeUpKey=XF86AudioRaiseVolume + } +} +Plugin { + type=tray + Config { + } +} +Plugin { + type=dclock + Config { + ClockFmt=%R + TooltipFmt=%A %x + BoldFont=0 + IconOnly=0 + CenterText=0 + } +} +Plugin { + type=netstatus + Config { + iface=enp0s31f6 + configtool=nm-connection-editor + } +} +Plugin { + type=netstatus + Config { + iface=wlp2s0 + configtool=nm-connection-editor + } +} +Plugin { + type=batt + Config { + BackgroundColor=black + ChargingColor1=#28f200 + ChargingColor2=#22cc00 + DischargingColor1=#ffee00 + DischargingColor2=#d9ca00 + HideIfNoBattery=0 + AlarmCommand=notify-send "Batterie faible" --icon=battery-caution + AlarmTime=5 + BorderWidth=0 + Size=1 + ShowExtendedInformation=0 + BatteryNumber=0 + } +} diff --git a/modules/workstation/files/flony/home/config/lxpanel/launchtaskbar.cfg b/modules/workstation/files/flony/home/config/lxpanel/launchtaskbar.cfg new file mode 100644 index 0000000..a3d0e52 --- /dev/null +++ b/modules/workstation/files/flony/home/config/lxpanel/launchtaskbar.cfg @@ -0,0 +1,4 @@ +[special_cases] +synaptic=synaptic-pkexec +soffice.bin=libreoffice +x-terminal-emulator=lxterminal diff --git a/modules/workstation/files/flony/home/config/lxsession-default-apps/settings.conf b/modules/workstation/files/flony/home/config/lxsession-default-apps/settings.conf new file mode 100644 index 0000000..8b5b321 --- /dev/null +++ b/modules/workstation/files/flony/home/config/lxsession-default-apps/settings.conf @@ -0,0 +1,45 @@ +[Mime] +webbrowser/available= +email/available= +file_manager/available= +screensaver/available= +composite_manager/available= +desktop_manager/available= +power_manager/available= +polkit/available= +im/available= +widget/available= +terminal_manager/available= +audio_player/available= +video_player/available= +pdf_reader/available= +image_display/available= +text_editor/available= +archive/available= +spreadsheet/available= +bittorent/available= +document/available= +burn/available= +tasks/available= +webbrowser/installed=Firefox,/usr/lib/firefox/firefox,firefox,/usr/share/applications/firefox.desktop,; +email/installed= +file_manager/installed=Gestionnaire de fichiers PCManFM,pcmanfm,system-file-manager,/usr/share/applications/pcmanfm.desktop,; +screensaver/installed= +composite_manager/installed= +desktop_manager/installed=Personnaliser l'apparence,lxappearance,preferences-desktop-theme,/usr/share/applications/lxappearance.desktop,;Applications par défaut pour LXSession,lxsession-default-apps,preferences-desktop,/usr/share/applications/lxsession-default-apps.desktop,;Paramètres de la session de bureau,lxsession-edit,preferences-desktop,/usr/share/applications/lxsession-edit.desktop,;Applications préférées,libfm-pref-apps,preferences-desktop,/usr/share/applications/libfm-pref-apps.desktop,;Setup Hot Keys,lxhotkey,preferences-desktop-keyboard,/usr/share/applications/lxhotkey-gtk.desktop,;Préférences du bureau,pcmanfm,user-desktop,/usr/share/applications/pcmanfm-desktop-pref.desktop,; +power_manager/installed= +polkit/installed= +im/installed= +widget/installed= +terminal_manager/installed=LXTerminal,lxterminal,lxterminal,/usr/share/applications/lxterminal.desktop,; +audio_player/installed=LXMusic simple music player,lxmusic,lxmusic,/usr/share/applications/lxmusic.desktop,;Qt V4L2 test Utility,qv4l2,qv4l2,/usr/share/applications/qv4l2.desktop,; +video_player/installed=LXMusic simple music player,lxmusic,lxmusic,/usr/share/applications/lxmusic.desktop,;Qt V4L2 test Utility,qv4l2,qv4l2,/usr/share/applications/qv4l2.desktop,; +pdf_reader/installed=Visionneur d'images,gpicview,gpicview,/usr/share/applications/gpicview.desktop,; +image_display/installed=Visionneur d'images,gpicview,gpicview,/usr/share/applications/gpicview.desktop,; +text_editor/installed=Vim,vim,gvim,/usr/share/applications/vim.desktop,; +archive/installed= +spreadsheet/installed= +bittorent/installed= +document/installed= +burn/installed= +tasks/installed=Gestionnaire des tâches,lxtask,utilities-system-monitor,/usr/share/applications/lxtask.desktop,; diff --git a/modules/workstation/files/flony/home/config/lxsession/LXDE/autostart b/modules/workstation/files/flony/home/config/lxsession/LXDE/autostart new file mode 100644 index 0000000..d8f2e23 --- /dev/null +++ b/modules/workstation/files/flony/home/config/lxsession/LXDE/autostart @@ -0,0 +1,3 @@ +@lxpanel --profile LXDE +@pcmanfm --desktop --profile LXDE +@xscreensaver -no-splash diff --git a/modules/workstation/files/flony/home/config/lxsession/LXDE/desktop.conf b/modules/workstation/files/flony/home/config/lxsession/LXDE/desktop.conf new file mode 100644 index 0000000..00cddb3 --- /dev/null +++ b/modules/workstation/files/flony/home/config/lxsession/LXDE/desktop.conf @@ -0,0 +1,52 @@ +[Session] +window_manager=openbox-lxde +disable_autostart=no +polkit/command=lxpolkit +clipboard/command=lxclipboard +xsettings_manager/command=build-in +proxy_manager/command=build-in +keyring/command=ssh-agent +quit_manager/command=lxsession-logout +lock_manager/command=lxlock +terminal_manager/command=lxterminal +quit_manager/image=/usr/share/lxde/images/logout-banner.png +quit_manager/layout=top +webbrowser/command=/usr/lib/firefox/firefox +tasks/command=lxtask + +[GTK] +sNet/ThemeName=Adwaita +sNet/IconThemeName=nuoveXT2 +sGtk/FontName=Sans 10 +iGtk/ToolbarStyle=3 +iGtk/ButtonImages=1 +iGtk/MenuImages=1 +iGtk/CursorThemeSize=18 +iXft/Antialias=1 +iXft/Hinting=1 +sXft/HintStyle=hintslight +sXft/RGBA=rgb +iNet/EnableEventSounds=1 +iNet/EnableInputFeedbackSounds=1 +sGtk/ColorScheme= +iGtk/ToolbarIconSize=3 +sGtk/CursorThemeName=DMZ-White + +[Mouse] +AccFactor=20 +AccThreshold=10 +LeftHanded=0 + +[Keyboard] +Delay=500 +Interval=30 +Beep=1 + +[State] +guess_default=true + +[Dbus] +lxde=true + +[Environment] +menu_prefix=lxde- diff --git a/modules/workstation/files/flony/home/config/lxterminal/lxterminal.conf b/modules/workstation/files/flony/home/config/lxterminal/lxterminal.conf new file mode 100644 index 0000000..1d1cc67 --- /dev/null +++ b/modules/workstation/files/flony/home/config/lxterminal/lxterminal.conf @@ -0,0 +1,53 @@ +[general] +fontname=Monospace 10 +selchars=-A-Za-z0-9,./?%&#:_ +scrollback=1000 +bgcolor=rgb(0,0,0) +fgcolor=rgb(170,170,170) +palette_color_0=rgb(0,0,0) +palette_color_1=rgb(170,0,0) +palette_color_2=rgb(0,170,0) +palette_color_3=rgb(170,85,0) +palette_color_4=rgb(0,0,170) +palette_color_5=rgb(170,0,170) +palette_color_6=rgb(0,170,170) +palette_color_7=rgb(170,170,170) +palette_color_8=rgb(85,85,85) +palette_color_9=rgb(255,85,85) +palette_color_10=rgb(85,255,85) +palette_color_11=rgb(255,255,85) +palette_color_12=rgb(85,85,255) +palette_color_13=rgb(255,85,255) +palette_color_14=rgb(85,255,255) +palette_color_15=rgb(255,255,255) +color_preset=VGA +disallowbold=false +cursorblinks=false +cursorunderline=false +audiblebell=false +tabpos=top +geometry_columns=80 +geometry_rows=24 +hidescrollbar=false +hidemenubar=false +hideclosebutton=false +hidepointer=false +disablef10=true +disablealt=true +disableconfirm=false + +[shortcut] +new_window_accel=n +new_tab_accel=t +close_tab_accel=w +close_window_accel=q +copy_accel=c +paste_accel=v +name_tab_accel=i +previous_tab_accel=Page_Up +next_tab_accel=Page_Down +move_tab_left_accel=Page_Up +move_tab_right_accel=Page_Down +zoom_in_accel=plus +zoom_out_accel=underscore +zoom_reset_accel=parenright diff --git a/modules/workstation/files/flony/home/config/openbox/lxde-rc.xml b/modules/workstation/files/flony/home/config/openbox/lxde-rc.xml new file mode 100644 index 0000000..48d2e1f --- /dev/null +++ b/modules/workstation/files/flony/home/config/openbox/lxde-rc.xml @@ -0,0 +1,666 @@ + + + + + 10 + 20 + + + yes + + no + + yes + + no + + 200 + + no + + + + Smart + +
yes
+ + Any +
+ + + Onyx + NLIMC + + yes + yes + + sans + 10 + + bold + + normal + + + + sans + 10 + + bold + + normal + + + + sans + 10 + + normal + + normal + + + + sans + 10 + + normal + + normal + + + + sans + 10 + + bold + + normal + + + + + + 2 + 1 + + + 875 + + + + yes + Nonpixel + + Center + + + + 10 + + 10 + + + + + 0 + 0 + 0 + 0 + + + TopLeft + + 0 + 0 + no + Above + + Vertical + + no + 300 + + 300 + + Middle + + + + C-g + + + + no + no + + + + + no + no + + + + + no + no + + + + + no + no + + + + + no + no + + + + + no + no + + + + + no + no + + + + + no + no + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + + + + + + + + + + + + + + + + client-menu + + + + + + + + + + + + yes + yes + + + + + + + true + PCManFM + + pcmanfm + + + + + + pcmanfm --find-files + + + + + + lxpanelctl run + + + + + + + + + lxtask + + + + + + lxrandr + + + + + xbacklight -inc 10 + + + + + xbacklight -dec 10 + + + + + slock + + + + + 8 + + 200 + + 400 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + client-menu + + + + + + + + + + + + top + + + + + + + + + + + left + + + + + + + + + + + right + + + + + + + + + + + bottom + + + + + + + + + + + + client-menu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + client-menu + + + + + + + client-menu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + client-list-combined-menu + + + + + root-menu + + + + + + + + + + + + + + + + + + + + + /usr/share/lxde/openbox/menu.xml + 200 + + no + + 100 + + yes + + yes + + + +
diff --git a/modules/workstation/files/flony/home/config/pcmanfm/LXDE/desktop-items-0.conf b/modules/workstation/files/flony/home/config/pcmanfm/LXDE/desktop-items-0.conf new file mode 100644 index 0000000..1b5e243 --- /dev/null +++ b/modules/workstation/files/flony/home/config/pcmanfm/LXDE/desktop-items-0.conf @@ -0,0 +1,14 @@ +[*] +wallpaper_mode=crop +wallpaper_common=1 +wallpaper=/usr/share/lxde/wallpapers/lxde_blue.jpg +desktop_bg=#000000 +desktop_fg=#ffffff +desktop_shadow=#000000 +desktop_font=Sans 12 +show_wm_menu=0 +sort=mtime;ascending; +show_documents=0 +show_trash=1 +show_mounts=0 + diff --git a/modules/workstation/files/flony/home/config/pcmanfm/LXDE/pcmanfm.conf b/modules/workstation/files/flony/home/config/pcmanfm/LXDE/pcmanfm.conf new file mode 100644 index 0000000..3722eef --- /dev/null +++ b/modules/workstation/files/flony/home/config/pcmanfm/LXDE/pcmanfm.conf @@ -0,0 +1,27 @@ +[config] +bm_open_method=0 + +[volume] +mount_on_startup=1 +mount_removable=1 +autorun=1 + +[ui] +always_show_tabs=0 +max_tab_chars=32 +win_width=640 +win_height=480 +maximized=1 +splitter_pos=150 +media_in_new_tab=0 +desktop_folder_new_win=0 +change_tab_on_drop=1 +close_on_unmount=1 +focus_previous=0 +side_pane_mode=places +view_mode=icon +show_hidden=0 +sort=name;ascending; +toolbar=newtab;navigation;home; +show_statusbar=1 +pathbar_mode_buttons=0 diff --git a/modules/workstation/files/flony/home/config/redshift.conf b/modules/workstation/files/flony/home/config/redshift.conf new file mode 100644 index 0000000..da26fa2 --- /dev/null +++ b/modules/workstation/files/flony/home/config/redshift.conf @@ -0,0 +1,8 @@ +[redshift] +temp-day=4500 +temp-night=4500 +location-provider=manual + +[manual] +lat=48.8566 +lon=2.3522 diff --git a/modules/workstation/files/flony/home/gitconfig b/modules/workstation/files/flony/home/gitconfig new file mode 100644 index 0000000..a775fc4 --- /dev/null +++ b/modules/workstation/files/flony/home/gitconfig @@ -0,0 +1,6 @@ +[user] + signingkey = DC384748709D2619FF2867216D0CAFFDDB1CFE90 + email = ismael.bouya@fretlink.com + name = Ismaël Bouya +[commit] + gpgsign = true diff --git a/modules/workstation/files/flony/home/local/share/applications/mimeapps.list b/modules/workstation/files/flony/home/local/share/applications/mimeapps.list new file mode 100644 index 0000000..1c53ef4 --- /dev/null +++ b/modules/workstation/files/flony/home/local/share/applications/mimeapps.list @@ -0,0 +1,19 @@ +[Added Associations] +text/html=firefox.desktop +text/xml=firefox.desktop +application/xhtml+xml=firefox.desktop +application/vnd.mozilla.xul+xml=firefox.desktop +text/mml=firefox.desktop +x-scheme-handler/http=firefox.desktop +x-scheme-handler/https=firefox.desktop +inode/directory=pcmanfm.desktop + +[Default Applications] +text/html=firefox.desktop +text/xml=firefox.desktop +application/xhtml+xml=firefox.desktop +application/vnd.mozilla.xul+xml=firefox.desktop +text/mml=firefox.desktop +x-scheme-handler/http=firefox.desktop +x-scheme-handler/https=firefox.desktop +inode/directory=pcmanfm.desktop diff --git a/modules/workstation/files/flony/home/xinitrc b/modules/workstation/files/flony/home/xinitrc new file mode 100644 index 0000000..4583bc6 --- /dev/null +++ b/modules/workstation/files/flony/home/xinitrc @@ -0,0 +1,2 @@ +setxkbmap -layout fr -variant oss -model pc104 -option compose:menu -option nbsp:level3 -option shift:breaks_caps -option terminate:ctrl_alt_bksp +exec startlxde diff --git a/modules/workstation/files/flony/wlp2s0-dhcp.network b/modules/workstation/files/flony/wlp2s0-dhcp.network new file mode 100644 index 0000000..9767fda --- /dev/null +++ b/modules/workstation/files/flony/wlp2s0-dhcp.network @@ -0,0 +1,6 @@ +[Match] +Name=wl* + +[Network] +DHCP=ipv4 + diff --git a/modules/workstation/files/flony/xorg_intel.conf b/modules/workstation/files/flony/xorg_intel.conf new file mode 100644 index 0000000..7fb49e6 --- /dev/null +++ b/modules/workstation/files/flony/xorg_intel.conf @@ -0,0 +1,7 @@ +Section "Device" + Identifier "Intel Graphics" + Driver "intel" + Option "TearFree" "true" + Option "AccelMethod" "sna" + Option "Backlight" "intel_backlight" +EndSection diff --git a/modules/workstation/manifests/flony.pp b/modules/workstation/manifests/flony.pp new file mode 100644 index 0000000..c8c361d --- /dev/null +++ b/modules/workstation/manifests/flony.pp @@ -0,0 +1,120 @@ +class workstation::flony { + ensure_resource("exec", "mkinitcpio", { + command => "/usr/bin/mkinitcpio -p linux", + refreshonly => true, + }) + + include "profile::tools" + + file_line { "mkinitcpio.conf#HOOKS": + ensure => "present", + path => "/etc/mkinitcpio.conf", + match => "^HOOKS\=", + line => "HOOKS=(base udev autodetect keyboard keymap modconf block encrypt filesystems fsck)", + notify => Exec["mkinitcpio"], + } + + ensure_packages(['wpa_supplicant']) + + file { "/etc/wpa_supplicant/wpa_supplicant-wlp2s0.conf": + ensure => file, + source => "puppet:///modules/workstation/flony/wpa_supplicant.conf", + mode => "0755", + owner => root, + group => root, + notify => Service["wpa_supplicant@wlp2s0"], + } + + file { "/etc/systemd/network/wlp2s0-dhcp.network": + ensure => file, + source => "puppet:///modules/workstation/flony/wlp2s0-dhcp.network", + mode => "0755", + owner => root, + group => root, + } + + service { "wpa_supplicant@wlp2s0": + ensure => "running", + enable => true, + require => [File["/etc/wpa_supplicant/wpa_supplicant-wlp2s0.conf"], Package["wpa_supplicant"]], + } + #service { "dhcpcd@wlp2s0.service": + # enable => false, + #} + ensure_packages(['lxde', 'xorg-xinit', 'xorg-fonts-misc', 'xorg-fonts-100dpi', 'xorg-fonts-75dpi', 'xorg-fonts-type1', 'noto-fonts-emoji']) + + ensure_packages(['firefox']) + + ensure_packages(['dmidecode', 'fwupd']) + + aur::package { "geteltorito": } + + ensure_packages(['stack']) + # ensure_packages(['ghc'], { + # ensure => absent, + # uninstall_options => "-sc" + # }) + + ensure_packages(['xorg-xev', 'xorg-xset', 'xorg-xbacklight', 'slock']) + + ensure_packages(['mesa', 'xf86-video-intel', 'vulkan-intel']) + file { "/etc/X11/xorg.conf.d/20-intel.conf": + ensure => file, + source => "puppet:///modules/workstation/flony/xorg_intel.conf", + mode => "0755", + owner => "root", + group => "root", + } + + ensure_packages(['redshift', 'python-xdg', 'python-gobject']) + + # xdg-open + ensure_packages(['xdg-utils']) + + ensure_packages(['postgresql', 'postgis']) + + # User + file { "/home/ismael/.bash_logout": + ensure => file, + content => "#\n# ~/.bash_logout\n#\n", + mode => "0644", + owner => "ismael", + group => "ismael", + } + file { "/home/ismael/.bashrc": + ensure => file, + source => "puppet:///modules/workstation/flony/home/bashrc", + mode => "0644", + owner => "ismael", + group => "ismael", + } + file { "/home/ismael/.gitconfig": + ensure => file, + source => "puppet:///modules/workstation/flony/home/gitconfig", + mode => "0644", + owner => "ismael", + group => "ismael", + } + file { "/home/ismael/.xinitrc": + ensure => file, + source => "puppet:///modules/workstation/flony/home/xinitrc", + mode => "0644", + owner => "ismael", + group => "ismael", + } + + file { "/home/ismael/.config": + ensure => directory, + source => "puppet:///modules/workstation/flony/home/config", + recurse => "remote", + owner => "ismael", + group => "ismael", + } + file { "/home/ismael/.local": + ensure => directory, + source => "puppet:///modules/workstation/flony/home/local", + recurse => "remote", + owner => "ismael", + group => "ismael", + } +} -- cgit v1.2.3