aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2018-10-02 22:53:29 +0200
committerIsmaël Bouya <ismael.bouya@normalesup.org>2018-10-05 10:39:42 +0200
commit98a071604ea9f7569aa0fa0688bc9d35081770c3 (patch)
treeca3d17a50e0bb0be15bb9c02b75b903acdb965a4
parented7b09a7b7c88c49e4fddb8cbe49e6a4ce6bce10 (diff)
downloadPuppet-workstation/flony.tar.gz
Puppet-workstation/flony.tar.zst
Puppet-workstation/flony.zip
Add Flony workstationworkstation/flony
-rwxr-xr-xbin/install_workstation25
-rw-r--r--environments/global/common.yaml1
-rw-r--r--environments/global/types/vps-ovhssd-1.yaml1
-rw-r--r--environments/hiera.yaml3
l---------environments/workstation/hiera.yaml1
-rw-r--r--environments/workstation/machines/flony.yaml16
-rw-r--r--modules/base_installation/lib/facter/ldapvar.rb2
-rw-r--r--modules/base_installation/manifests/grub.pp49
-rw-r--r--modules/base_installation/manifests/init.pp3
-rw-r--r--modules/base_installation/manifests/ldap.pp102
-rw-r--r--modules/base_installation/manifests/locales.pp13
-rw-r--r--modules/base_installation/manifests/params.pp5
-rw-r--r--modules/base_installation/manifests/puppet.pp110
-rw-r--r--modules/base_installation/templates/puppet/host_ldap_add_top.info.erb2
-rw-r--r--modules/base_installation/templates/puppet/host_ldap_mod_top.info.erb2
-rw-r--r--modules/base_installation/templates/puppet/puppet.conf.erb2
-rw-r--r--modules/base_installation/templates/services/en-dhcp.network.erb2
-rw-r--r--modules/workstation/files/flony/home/bash_profile3
-rw-r--r--modules/workstation/files/flony/home/bashrc9
-rw-r--r--modules/workstation/files/flony/home/config/autostart/redshift-gtk.desktop7
-rw-r--r--modules/workstation/files/flony/home/config/libfm/libfm.conf43
-rw-r--r--modules/workstation/files/flony/home/config/lxpanel/LXDE/config2
-rw-r--r--modules/workstation/files/flony/home/config/lxpanel/LXDE/panels/panel168
-rw-r--r--modules/workstation/files/flony/home/config/lxpanel/launchtaskbar.cfg4
-rw-r--r--modules/workstation/files/flony/home/config/lxsession-default-apps/settings.conf45
-rw-r--r--modules/workstation/files/flony/home/config/lxsession/LXDE/autostart3
-rw-r--r--modules/workstation/files/flony/home/config/lxsession/LXDE/desktop.conf52
-rw-r--r--modules/workstation/files/flony/home/config/lxterminal/lxterminal.conf53
-rw-r--r--modules/workstation/files/flony/home/config/openbox/lxde-rc.xml666
-rw-r--r--modules/workstation/files/flony/home/config/pcmanfm/LXDE/desktop-items-0.conf14
-rw-r--r--modules/workstation/files/flony/home/config/pcmanfm/LXDE/pcmanfm.conf27
-rw-r--r--modules/workstation/files/flony/home/config/redshift.conf8
-rw-r--r--modules/workstation/files/flony/home/gitconfig6
-rw-r--r--modules/workstation/files/flony/home/local/share/applications/mimeapps.list19
-rw-r--r--modules/workstation/files/flony/home/xinitrc2
-rw-r--r--modules/workstation/files/flony/wlp2s0-dhcp.network6
-rw-r--r--modules/workstation/files/flony/xorg_intel.conf7
-rw-r--r--modules/workstation/manifests/flony.pp120
38 files changed, 1477 insertions, 126 deletions
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 @@
1
2CODE_PATH="/etc/puppetlabs/code"
3# Needs to be run manually
4# Mount /mnt, /mnt/boot, ...
5# pacstrap /mnt base git puppet
6# genfstab -U /mnt >> /mnt/etc/fstab
7# arch-chroot /mnt
8# git clone https://git.immae.eu/perso/Immae/Projets/Puppet.git $CODE_PATH
9
10export FACTER_in_chroot=yes
11export FACTER_workstation_name="$1"
12
13if [ -z "$FACTER_workstation_name" ]; then
14 echo "Need to specify workstation name as first argument"
15 exit 1
16fi
17
18git submodule update --init
19
20pacman-key --init
21pacman-key --populate archlinux
22
23puppet apply --environment workstation --tags base_installation --modulepath $CODE_PATH/modules:$CODE_PATH/external_modules --test $CODE_PATH/manifests/site.pp
24# The password seed requires puppet to be run twice
25puppet 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:
16classes: 16classes:
17 stdlib: ~ 17 stdlib: ~
18 18
19base_installation::ldap_enabled: true
19base_installation::ldap_base: "dc=immae,dc=eu" 20base_installation::ldap_base: "dc=immae,dc=eu"
20base_installation::ldap_dn: "cn=%{facts.ec2_metadata.hostname},ou=hosts,dc=immae,dc=eu" 21base_installation::ldap_dn: "cn=%{facts.ec2_metadata.hostname},ou=hosts,dc=immae,dc=eu"
21base_installation::ldap_cn: "%{facts.ec2_metadata.hostname}" 22base_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:
5 5
6base_installation::system_hostname: "%{ldapvar.self.vars.host.0}" 6base_installation::system_hostname: "%{ldapvar.self.vars.host.0}"
7base_installation::real_hostname: "%{facts.ec2_metadata.hostname}.ovh.net" 7base_installation::real_hostname: "%{facts.ec2_metadata.hostname}.ovh.net"
8base_installation::grub_device: "/dev/sdb"
9base_installation::ldap_cert_path: "/etc/ssl/certs/ca-certificates.crt" 8base_installation::ldap_cert_path: "/etc/ssl/certs/ca-certificates.crt"
10letsencrypt::try_for_real_hostname: false 9letsencrypt::try_for_real_hostname: false
11profile::xmr_stak::cpulimit: "90" 10profile::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:
27 path: "types/%{facts.ec2_metadata.instance-type}.yaml" 27 path: "types/%{facts.ec2_metadata.instance-type}.yaml"
28 datadir: ../global 28 datadir: ../global
29 29
30 - name: "Per-machine data"
31 path: "machines/%{facts.workstation_name}.yaml"
32
30 - name: "Common environment data" 33 - name: "Common environment data"
31 path: "common.yaml" 34 path: "common.yaml"
32 35
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 @@
1---
2classes:
3 base_installation:
4 stage: "setup"
5 workstation::flony: ~
6
7base_installation::system_hostname: "%{facts.workstation_name}"
8base_installation::real_hostname: "%{facts.workstation_name}.home.immae.eu"
9base_installation::cryptroot_device: "81705a1f-b029-46f5-8900-721ede1fe57b"
10base_installation::grub_device: "/dev/nvme0n1p2"
11base_installation::grub_efi_device: "/dev/nvme0n1p1"
12base_installation::ldap_enabled: false
13base_installation::system_users:
14 - userid: 1000
15 username: ismael
16 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
5 Facter.add("ldapvar") do 5 Facter.add("ldapvar") do
6 setcode do 6 setcode do
7 if Puppet[:node_terminus].to_sym != :ldap 7 if Puppet[:node_terminus].to_sym != :ldap
8 data = [] 8 data = {}
9 else 9 else
10 begin 10 begin
11 conn = Puppet::Util::Ldap::Connection.instance 11 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 @@
1class base_installation::grub inherits base_installation { 1class base_installation::grub inherits base_installation {
2 ensure_packages(['grub']) 2 ensure_packages(['grub'])
3 3
4 # unless empty($base_installation::grub_device) { 4 if !empty($base_installation::grub_efi_device) {
5 # exec { 'install GRUB': 5 ensure_packages(['efibootmgr'])
6 # command => "/usr/bin/grub-install --target=i386-pc $base_installation::device", 6 exec { 'install GRUB UEFI':
7 # subscribe => Package["grub"], 7 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",
8 # } 8 creates => "/boot/grub/x86_64-efi",
9 # } 9 subscribe => Package["grub"],
10 }
11 } elsif !empty($base_installation::grub_device) {
12 exec { 'install GRUB MBR':
13 command => "/usr/bin/grub-install --target=i386-pc $base_installation::grub_device",
14 creates => "/boot/grub/i386-pc",
15 subscribe => Package["grub"],
16 }
17 }
10 18
11 file_line { "/etc/default/grub#GRUB_CMDLINE_LINUX": 19 if ($environment == "workstation" and !empty($base_installation::cryptroot_device)) {
12 path => "/etc/default/grub", 20 file_line { "/etc/default/grub#GRUB_CMDLINE_LINUX":
13 line => 'GRUB_CMDLINE_LINUX=" console=tty0 console=ttyS0,115200"', 21 path => "/etc/default/grub",
14 match => '^GRUB_CMDLINE_LINUX=', 22 line => "GRUB_CMDLINE_LINUX=\" cryptdevice=UUID=${base_installation::cryptroot_device}:cryptroot\"",
15 require => Package["grub"], 23 match => '^GRUB_CMDLINE_LINUX=',
24 require => Package["grub"],
25 notify => Exec["update GRUB config"],
26 }
27 } elsif ($environment != "workstation") {
28 file_line { "/etc/default/grub#GRUB_CMDLINE_LINUX":
29 path => "/etc/default/grub",
30 line => 'GRUB_CMDLINE_LINUX=" console=tty0 console=ttyS0,115200"',
31 match => '^GRUB_CMDLINE_LINUX=',
32 require => Package["grub"],
33 notify => Exec["update GRUB config"],
34 }
16 } 35 }
17 36
18 # exec { 'update GRUB config': 37 exec { 'update GRUB config':
19 # command => "/usr/bin/grub-mkconfig -o /boot/grub/grub.cfg", 38 command => "/usr/bin/grub-mkconfig -o /boot/grub/grub.cfg",
20 # refreshonly => true 39 refreshonly => true
21 # } 40 }
22} 41}
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 @@
1class base_installation ( 1class base_installation (
2 Optional[String] $cryptroot_device = $base_installation::params::cryptroot_device,
3 Optional[String] $grub_efi_device = $base_installation::params::grub_efi_device,
2 Optional[String] $grub_device = $base_installation::params::grub_device, 4 Optional[String] $grub_device = $base_installation::params::grub_device,
5 Optional[Boolean] $ldap_enabled = $base_installation::params::ldap_enabled,
3 Optional[String] $ldap_base = $base_installation::params::ldap_base, 6 Optional[String] $ldap_base = $base_installation::params::ldap_base,
4 Optional[String] $ldap_cert_path = $base_installation::params::ldap_cert_path, 7 Optional[String] $ldap_cert_path = $base_installation::params::ldap_cert_path,
5 Optional[String] $ldap_cn = $base_installation::params::ldap_cn, 8 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 @@
1class base_installation::ldap inherits base_installation { 1class base_installation::ldap inherits base_installation {
2 ensure_packages(["openldap"]) 2 if ($base_installation::ldap_enabled) {
3 ensure_packages(["openldap"])
3 4
4 File { 5 File {
5 mode => "0644", 6 mode => "0644",
6 owner => "root", 7 owner => "root",
7 group => "root", 8 group => "root",
8 } 9 }
9
10 file { '/etc/openldap':
11 ensure => directory,
12 require => Package["openldap"],
13 recurse => true,
14 purge => true,
15 force => true,
16 }
17
18 file { '/etc/openldap/ldap.conf':
19 ensure => present,
20 content => template("base_installation/ldap/ldap.conf.erb"),
21 require => File['/etc/openldap'],
22 }
23 10
24 $password_seed = lookup("base_installation::puppet_pass_seed") 11 file { '/etc/openldap':
25 unless empty(find_file($password_seed)) { 12 ensure => directory,
26 $ldap_server = lookup("base_installation::ldap_server") 13 require => Package["openldap"],
27 $ldap_base = lookup("base_installation::ldap_base") 14 recurse => true,
28 $ldap_dn = lookup("base_installation::ldap_dn") 15 purge => true,
29 $ldap_password = generate_password(24, $password_seed, "ldap") 16 force => true,
30 $ldap_attribute = "uid" 17 }
31 18
32 ensure_packages(["pam_ldap", "ruby-augeas"]) 19 file { '/etc/openldap/ldap.conf':
33 file { "/etc/pam_ldap.conf": 20 ensure => present,
34 ensure => "present", 21 content => template("base_installation/ldap/ldap.conf.erb"),
35 mode => "0400", 22 require => File['/etc/openldap'],
36 owner => "root",
37 group => "root",
38 content => template("base_installation/ldap/pam_ldap.conf.erb"),
39 } 23 }
40 24
41 ["system-auth", "passwd"].each |$service| { 25 $password_seed = lookup("base_installation::puppet_pass_seed")
42 pam { "Allow to change ldap password via $service": 26 unless empty(find_file($password_seed)) {
43 ensure => present, 27 $ldap_server = lookup("base_installation::ldap_server")
44 service => $service, 28 $ldap_base = lookup("base_installation::ldap_base")
45 type => "password", 29 $ldap_dn = lookup("base_installation::ldap_dn")
46 control => "[success=done new_authtok_reqd=ok authinfo_unavail=ignore ignore=ignore default=bad]", 30 $ldap_password = generate_password(24, $password_seed, "ldap")
47 module => "pam_ldap.so", 31 $ldap_attribute = "uid"
48 arguments => ["ignore_unknown_user", "ignore_authinfo_unavail"], 32
49 position => 'before *[type="password" and module="pam_unix.so"]', 33 ensure_packages(["pam_ldap", "ruby-augeas"])
50 require => Package["ruby-augeas"], 34 file { "/etc/pam_ldap.conf":
35 ensure => "present",
36 mode => "0400",
37 owner => "root",
38 group => "root",
39 content => template("base_installation/ldap/pam_ldap.conf.erb"),
51 } 40 }
52 }
53 41
54 ["system-auth", "su", "su-l"].each |$service| { 42 ["system-auth", "passwd"].each |$service| {
55 ["auth", "account"].each |$type| { 43 pam { "Allow to change ldap password via $service":
56 pam { "Allow $service to $type with ldap password":
57 ensure => present, 44 ensure => present,
58 service => $service, 45 service => $service,
59 type => $type, 46 type => "password",
60 control => "[success=done new_authtok_reqd=ok authinfo_unavail=ignore ignore=ignore default=bad]", 47 control => "[success=done new_authtok_reqd=ok authinfo_unavail=ignore ignore=ignore default=bad]",
61 module => "pam_ldap.so", 48 module => "pam_ldap.so",
62 arguments => ["ignore_unknown_user", "ignore_authinfo_unavail"], 49 arguments => ["ignore_unknown_user", "ignore_authinfo_unavail"],
63 position => "before *[type=\"$type\" and module=\"pam_unix.so\"]", 50 position => 'before *[type="password" and module="pam_unix.so"]',
64 require => Package["ruby-augeas"], 51 require => Package["ruby-augeas"],
65 } 52 }
66 } 53 }
54
55 ["system-auth", "su", "su-l"].each |$service| {
56 ["auth", "account"].each |$type| {
57 pam { "Allow $service to $type with ldap password":
58 ensure => present,
59 service => $service,
60 type => $type,
61 control => "[success=done new_authtok_reqd=ok authinfo_unavail=ignore ignore=ignore default=bad]",
62 module => "pam_ldap.so",
63 arguments => ["ignore_unknown_user", "ignore_authinfo_unavail"],
64 position => "before *[type=\"$type\" and module=\"pam_unix.so\"]",
65 require => Package["ruby-augeas"],
66 }
67 }
68 }
67 } 69 }
68 } 70 }
69} 71}
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 {
29 } 29 }
30 30
31 31
32 file { "/etc/vconsole.conf": 32 if ($environment == "workstation") {
33 ensure => "link", 33 file { "/etc/vconsole.conf":
34 target => "/dev/null", 34 ensure => "file",
35 content => "KEYMAP=fr",
36 }
37 } else {
38 file { "/etc/vconsole.conf":
39 ensure => "link",
40 target => "/dev/null",
41 }
35 } 42 }
36 43
37} 44}
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 {
4 $puppet_notifies_path = "/etc/puppetlabs/notifies" 4 $puppet_notifies_path = "/etc/puppetlabs/notifies"
5 $puppet_pass_seed = "/etc/puppetlabs/puppet/password_seed" 5 $puppet_pass_seed = "/etc/puppetlabs/puppet/password_seed"
6 $puppet_ssl_path = "/etc/puppetlabs/ssl" 6 $puppet_ssl_path = "/etc/puppetlabs/ssl"
7 $grub_device = "/dev/sda" 7 $cryptroot_device = ""
8 $grub_device = ""
9 $grub_efi_device = ""
10 $ldap_enabled = true
8 $ldap_base = "dc=example,dc=com" 11 $ldap_base = "dc=example,dc=com"
9 $ldap_cn = "node" 12 $ldap_cn = "node"
10 $ldap_dn = "cn=node,ou=hosts,dc=example,dc=com" 13 $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 (
52 } 52 }
53 53
54 unless empty(find_file($password_seed)) { 54 unless empty(find_file($password_seed)) {
55 $ldap_password = generate_password(24, $password_seed, "ldap") 55 if ($base_installation::ldap_enabled) {
56 $ssha_ldap_seed = generate_password(5, $password_seed, "ldap_seed") 56 $ldap_password = generate_password(24, $password_seed, "ldap")
57 57 $ssha_ldap_seed = generate_password(5, $password_seed, "ldap_seed")
58 package { 'gem:ruby-ldap': 58
59 name => "ruby-ldap", 59 package { 'gem:ruby-ldap':
60 ensure => present, 60 name => "ruby-ldap",
61 provider => "gem", 61 ensure => present,
62 install_options => "--no-user-install" 62 provider => "gem",
63 } 63 install_options => "--no-user-install",
64 before => File["$base_installation::puppet_conf_path"]
65 }
64 66
65 package { 'gem:xmpp4r': 67 package { 'gem:xmpp4r':
66 name => "xmpp4r", 68 name => "xmpp4r",
67 ensure => present, 69 ensure => present,
68 provider => "gem", 70 provider => "gem",
69 install_options => "--no-user-install" 71 install_options => "--no-user-install",
72 before => File["$base_installation::puppet_conf_path"]
73 }
70 } 74 }
71 75
72 file { $password_seed: 76 file { $password_seed:
@@ -75,7 +79,7 @@ class base_installation::puppet (
75 79
76 file { $base_installation::puppet_conf_path: 80 file { $base_installation::puppet_conf_path:
77 ensure => directory, 81 ensure => directory,
78 require => [Package["puppet"], Package["gem:xmpp4r"], Package["gem:ruby-ldap"]], 82 require => [Package["puppet"]],
79 recurse => true, 83 recurse => true,
80 purge => true, 84 purge => true,
81 force => true, 85 force => true,
@@ -103,47 +107,49 @@ class base_installation::puppet (
103 } 107 }
104 } 108 }
105 109
106 if file("$base_installation::puppet_notifies_path/host_ldap.info", "/dev/null") != "" and 110 if ($base_installation::ldap_enabled) {
107 empty($facts["ldapvar"]) { 111 if file("$base_installation::puppet_notifies_path/host_ldap.info", "/dev/null") != "" and
108 fail("LDAP was activated but facts are not available") 112 empty($facts["ldapvar"]) {
109 } 113 fail("LDAP was activated but facts are not available")
114 }
110 115
111 file { $base_installation::puppet_notifies_path: 116 file { $base_installation::puppet_notifies_path:
112 ensure => directory, 117 ensure => directory,
113 require => [Package["puppet"], Package["gem:xmpp4r"], Package["gem:ruby-ldap"]], 118 require => [Package["puppet"], Package["gem:xmpp4r"], Package["gem:ruby-ldap"]],
114 recurse => true, 119 recurse => true,
115 purge => true, 120 purge => true,
116 force => true, 121 force => true,
117 } 122 }
118 123
119 $ips = lookup("ips", { 'default_value' => undef }) 124 $ips = lookup("ips", { 'default_value' => undef })
120 concat { "$base_installation::puppet_notifies_path/host_ldap.info": 125 concat { "$base_installation::puppet_notifies_path/host_ldap.info":
121 ensure => "present", 126 ensure => "present",
122 mode => "0600", 127 mode => "0600",
123 require => File[$base_installation::puppet_notifies_path], 128 require => File[$base_installation::puppet_notifies_path],
124 ensure_newline => true, 129 ensure_newline => true,
125 } 130 }
126 131
127 concat::fragment { "host_ldap add top": 132 concat::fragment { "host_ldap add top":
128 target => "$base_installation::puppet_notifies_path/host_ldap.info", 133 target => "$base_installation::puppet_notifies_path/host_ldap.info",
129 content => template("base_installation/puppet/host_ldap_add_top.info.erb"), 134 content => template("base_installation/puppet/host_ldap_add_top.info.erb"),
130 order => "00-01", 135 order => "00-01",
131 } 136 }
132 concat::fragment { "host_ldap add bottom": 137 concat::fragment { "host_ldap add bottom":
133 target => "$base_installation::puppet_notifies_path/host_ldap.info", 138 target => "$base_installation::puppet_notifies_path/host_ldap.info",
134 content => "EOF", 139 content => "EOF",
135 order => "00-99", 140 order => "00-99",
136 } 141 }
137 142
138 concat::fragment { "host_ldap mod top": 143 concat::fragment { "host_ldap mod top":
139 target => "$base_installation::puppet_notifies_path/host_ldap.info", 144 target => "$base_installation::puppet_notifies_path/host_ldap.info",
140 content => template("base_installation/puppet/host_ldap_mod_top.info.erb"), 145 content => template("base_installation/puppet/host_ldap_mod_top.info.erb"),
141 order => "01-01", 146 order => "01-01",
142 } 147 }
143 concat::fragment { "host_ldap mod bottom": 148 concat::fragment { "host_ldap mod bottom":
144 target => "$base_installation::puppet_notifies_path/host_ldap.info", 149 target => "$base_installation::puppet_notifies_path/host_ldap.info",
145 content => "EOF", 150 content => "EOF",
146 order => "01-99", 151 order => "01-99",
152 }
147 } 153 }
148 } 154 }
149} 155}
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
6objectclass: top 6objectclass: top
7objectclass: simpleSecurityObject 7objectclass: simpleSecurityObject
8objectclass: puppetClient 8objectclass: puppetClient
9<%- unless @ips.empty? -%> 9<%- unless @ips.nil? || @ips.empty? -%>
10objectclass: ipHost 10objectclass: ipHost
11<% unless @ips["v4"].nil? -%>ipHostNumber: <%= @ips["v4"]["ipAddress"] %><%- end %> 11<% unless @ips["v4"].nil? -%>ipHostNumber: <%= @ips["v4"]["ipAddress"] %><%- end %>
12<% unless @ips["v6"].nil? -%>ipHostNumber: <%= @ips["v6"]["ipAddress"] %>/<%= @ips["v6"]["mask"] %><%- end %> 12<% 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
7- 7-
8replace: environment 8replace: environment
9environment: <%= @environment %> 9environment: <%= @environment %>
10<%- unless @ips.empty? -%> 10<%- unless @ips.nil? || @ips.empty? -%>
11- 11-
12delete: ipHostNumber 12delete: ipHostNumber
13<%- unless @ips["v4"].nil? -%> 13<%- 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 %>
16 16
17environment = <%= @environment %> 17environment = <%= @environment %>
18 18
19<% if @ldap_enabled %>
19node_terminus = ldap 20node_terminus = ldap
20certname = <%= @real_hostname %> 21certname = <%= @real_hostname %>
21ldapserver = <%= @ldap_server %> 22ldapserver = <%= @ldap_server %>
@@ -26,3 +27,4 @@ ldappassword = <%= @ldap_password %>
26ldapclassattrs = puppetClass 27ldapclassattrs = puppetClass
27ldapparentattr = parentNode 28ldapparentattr = parentNode
28ldapstackedattrs = puppetVar 29ldapstackedattrs = puppetVar
30<% 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*
4[Network] 4[Network]
5DHCP=ipv4 5DHCP=ipv4
6 6
7<%- unless @ip6.empty? -%> 7<%- unless @ip6.nil? || @ip6.empty? -%>
8Gateway=<%= @ip6["gateway"] %> 8Gateway=<%= @ip6["gateway"] %>
9 9
10[Address] 10[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 @@
1if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
2 exec startx
3fi
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 @@
1#
2# ~/.bashrc
3#
4
5# If not running interactively, don't do anything
6[[ $- != *i* ]] && return
7
8alias ls='ls --color=auto'
9PS1='[\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 @@
1[Desktop Entry]
2Name=Redshift
3GenericName=Redshift
4Exec=/usr/bin/redshift-gtk
5Icon=redshift
6Terminal=false
7Type=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 @@
1# Configuration file for the libfm version 1.3.0.2.
2# Autogenerated file, don't edit, your changes will be overwritten.
3
4[config]
5single_click=0
6use_trash=1
7confirm_del=1
8confirm_trash=1
9advanced_mode=0
10si_unit=0
11force_startup_notify=1
12backup_as_hidden=1
13no_usb_trash=1
14no_child_non_expandable=0
15show_full_names=0
16only_user_templates=0
17template_run_app=0
18template_type_once=0
19auto_selection_delay=600
20drop_default_action=auto
21defer_content_test=0
22quick_exec=0
23thumbnail_local=1
24thumbnail_max=2048
25smart_desktop_autodrop=1
26
27[ui]
28big_icon_size=48
29small_icon_size=24
30pane_icon_size=24
31thumbnail_size=128
32show_thumbnail=1
33shadow_hidden=0
34
35[places]
36places_home=1
37places_desktop=1
38places_root=0
39places_computer=0
40places_trash=1
41places_applications=1
42places_network=0
43places_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 @@
1[Command]
2Logout=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 @@
1# lxpanel <profile> config file. Manually editing is not recommended.
2# Use preference dialog in lxpanel to adjust config when you can.
3
4Global {
5 edge=bottom
6 align=left
7 margin=0
8 widthtype=percent
9 width=100
10 height=26
11 transparent=0
12 tintcolor=#000000
13 alpha=0
14 setdocktype=1
15 setpartialstrut=1
16 autohide=0
17 heightwhenhidden=0
18 usefontcolor=1
19 fontcolor=#ffffff
20 background=1
21 backgroundfile=/usr/share/lxpanel/images/background.png
22}
23Plugin {
24 type=space
25 Config {
26 Size=2
27 }
28}
29Plugin {
30 type=menu
31 Config {
32 image=/usr/share/lxde/images/lxde-icon.png
33 system {
34 }
35 separator {
36 }
37 item {
38 command=run
39 }
40 separator {
41 }
42 item {
43 image=gnome-logout
44 command=logout
45 }
46 }
47}
48Plugin {
49 type=launchbar
50 Config {
51 Button {
52 id=pcmanfm.desktop
53 }
54 Button {
55 id=firefox.desktop
56 }
57 }
58}
59Plugin {
60 type=space
61 Config {
62 Size=4
63 }
64}
65Plugin {
66 type=wincmd
67 Config {
68 Button1=iconify
69 Button2=shade
70 }
71}
72Plugin {
73 type=space
74 Config {
75 Size=4
76 }
77}
78Plugin {
79 type=pager
80 Config {
81 }
82}
83Plugin {
84 type=space
85 Config {
86 Size=4
87 }
88}
89Plugin {
90 type=taskbar
91 expand=1
92 Config {
93 tooltips=1
94 IconsOnly=0
95 AcceptSkipPager=1
96 ShowIconified=1
97 ShowMapped=1
98 ShowAllDesks=0
99 UseMouseWheel=1
100 UseUrgencyHint=1
101 FlatButton=0
102 MaxTaskWidth=150
103 spacing=1
104 }
105}
106Plugin {
107 type=monitors
108 Config {
109 DisplayCPU=1
110 DisplayRAM=1
111 CPUColor=#0000FF
112 RAMColor=#FF0000
113 }
114}
115Plugin {
116 type=volume
117 Config {
118 VolumeMuteKey=XF86AudioMute
119 VolumeDownKey=XF86AudioLowerVolume
120 VolumeUpKey=XF86AudioRaiseVolume
121 }
122}
123Plugin {
124 type=tray
125 Config {
126 }
127}
128Plugin {
129 type=dclock
130 Config {
131 ClockFmt=%R
132 TooltipFmt=%A %x
133 BoldFont=0
134 IconOnly=0
135 CenterText=0
136 }
137}
138Plugin {
139 type=netstatus
140 Config {
141 iface=enp0s31f6
142 configtool=nm-connection-editor
143 }
144}
145Plugin {
146 type=netstatus
147 Config {
148 iface=wlp2s0
149 configtool=nm-connection-editor
150 }
151}
152Plugin {
153 type=batt
154 Config {
155 BackgroundColor=black
156 ChargingColor1=#28f200
157 ChargingColor2=#22cc00
158 DischargingColor1=#ffee00
159 DischargingColor2=#d9ca00
160 HideIfNoBattery=0
161 AlarmCommand=notify-send "Batterie faible" --icon=battery-caution
162 AlarmTime=5
163 BorderWidth=0
164 Size=1
165 ShowExtendedInformation=0
166 BatteryNumber=0
167 }
168}
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 @@
1[special_cases]
2synaptic=synaptic-pkexec
3soffice.bin=libreoffice
4x-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 @@
1[Mime]
2webbrowser/available=
3email/available=
4file_manager/available=
5screensaver/available=
6composite_manager/available=
7desktop_manager/available=
8power_manager/available=
9polkit/available=
10im/available=
11widget/available=
12terminal_manager/available=
13audio_player/available=
14video_player/available=
15pdf_reader/available=
16image_display/available=
17text_editor/available=
18archive/available=
19spreadsheet/available=
20bittorent/available=
21document/available=
22burn/available=
23tasks/available=
24webbrowser/installed=Firefox,/usr/lib/firefox/firefox,firefox,/usr/share/applications/firefox.desktop,;
25email/installed=
26file_manager/installed=Gestionnaire de fichiers PCManFM,pcmanfm,system-file-manager,/usr/share/applications/pcmanfm.desktop,;
27screensaver/installed=
28composite_manager/installed=
29desktop_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,;
30power_manager/installed=
31polkit/installed=
32im/installed=
33widget/installed=
34terminal_manager/installed=LXTerminal,lxterminal,lxterminal,/usr/share/applications/lxterminal.desktop,;
35audio_player/installed=LXMusic simple music player,lxmusic,lxmusic,/usr/share/applications/lxmusic.desktop,;Qt V4L2 test Utility,qv4l2,qv4l2,/usr/share/applications/qv4l2.desktop,;
36video_player/installed=LXMusic simple music player,lxmusic,lxmusic,/usr/share/applications/lxmusic.desktop,;Qt V4L2 test Utility,qv4l2,qv4l2,/usr/share/applications/qv4l2.desktop,;
37pdf_reader/installed=Visionneur d'images,gpicview,gpicview,/usr/share/applications/gpicview.desktop,;
38image_display/installed=Visionneur d'images,gpicview,gpicview,/usr/share/applications/gpicview.desktop,;
39text_editor/installed=Vim,vim,gvim,/usr/share/applications/vim.desktop,;
40archive/installed=
41spreadsheet/installed=
42bittorent/installed=
43document/installed=
44burn/installed=
45tasks/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 @@
1@lxpanel --profile LXDE
2@pcmanfm --desktop --profile LXDE
3@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 @@
1[Session]
2window_manager=openbox-lxde
3disable_autostart=no
4polkit/command=lxpolkit
5clipboard/command=lxclipboard
6xsettings_manager/command=build-in
7proxy_manager/command=build-in
8keyring/command=ssh-agent
9quit_manager/command=lxsession-logout
10lock_manager/command=lxlock
11terminal_manager/command=lxterminal
12quit_manager/image=/usr/share/lxde/images/logout-banner.png
13quit_manager/layout=top
14webbrowser/command=/usr/lib/firefox/firefox
15tasks/command=lxtask
16
17[GTK]
18sNet/ThemeName=Adwaita
19sNet/IconThemeName=nuoveXT2
20sGtk/FontName=Sans 10
21iGtk/ToolbarStyle=3
22iGtk/ButtonImages=1
23iGtk/MenuImages=1
24iGtk/CursorThemeSize=18
25iXft/Antialias=1
26iXft/Hinting=1
27sXft/HintStyle=hintslight
28sXft/RGBA=rgb
29iNet/EnableEventSounds=1
30iNet/EnableInputFeedbackSounds=1
31sGtk/ColorScheme=
32iGtk/ToolbarIconSize=3
33sGtk/CursorThemeName=DMZ-White
34
35[Mouse]
36AccFactor=20
37AccThreshold=10
38LeftHanded=0
39
40[Keyboard]
41Delay=500
42Interval=30
43Beep=1
44
45[State]
46guess_default=true
47
48[Dbus]
49lxde=true
50
51[Environment]
52menu_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 @@
1[general]
2fontname=Monospace 10
3selchars=-A-Za-z0-9,./?%&#:_
4scrollback=1000
5bgcolor=rgb(0,0,0)
6fgcolor=rgb(170,170,170)
7palette_color_0=rgb(0,0,0)
8palette_color_1=rgb(170,0,0)
9palette_color_2=rgb(0,170,0)
10palette_color_3=rgb(170,85,0)
11palette_color_4=rgb(0,0,170)
12palette_color_5=rgb(170,0,170)
13palette_color_6=rgb(0,170,170)
14palette_color_7=rgb(170,170,170)
15palette_color_8=rgb(85,85,85)
16palette_color_9=rgb(255,85,85)
17palette_color_10=rgb(85,255,85)
18palette_color_11=rgb(255,255,85)
19palette_color_12=rgb(85,85,255)
20palette_color_13=rgb(255,85,255)
21palette_color_14=rgb(85,255,255)
22palette_color_15=rgb(255,255,255)
23color_preset=VGA
24disallowbold=false
25cursorblinks=false
26cursorunderline=false
27audiblebell=false
28tabpos=top
29geometry_columns=80
30geometry_rows=24
31hidescrollbar=false
32hidemenubar=false
33hideclosebutton=false
34hidepointer=false
35disablef10=true
36disablealt=true
37disableconfirm=false
38
39[shortcut]
40new_window_accel=<Primary><Shift>n
41new_tab_accel=<Primary><Shift>t
42close_tab_accel=<Primary><Shift>w
43close_window_accel=<Primary><Shift>q
44copy_accel=<Primary><Shift>c
45paste_accel=<Primary><Shift>v
46name_tab_accel=<Primary><Shift>i
47previous_tab_accel=<Primary>Page_Up
48next_tab_accel=<Primary>Page_Down
49move_tab_left_accel=<Primary><Shift>Page_Up
50move_tab_right_accel=<Primary><Shift>Page_Down
51zoom_in_accel=<Primary><Shift>plus
52zoom_out_accel=<Primary><Shift>underscore
53zoom_reset_accel=<Primary><Shift>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 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<!-- Do not edit this file, it will be overwritten on install.
3 Copy the file to $HOME/.config/openbox/ instead. -->
4<openbox_config xmlns='http://openbox.org/3.4/rc'>
5 <resistance>
6 <strength>10</strength>
7 <screen_edge_strength>20</screen_edge_strength>
8 </resistance>
9 <focus>
10 <focusNew>yes</focusNew>
11 <!-- always try to focus new windows when they appear. other rules do
12 apply -->
13 <followMouse>no</followMouse>
14 <!-- move focus to a window when you move the mouse into it -->
15 <focusLast>yes</focusLast>
16 <!-- focus the last used window when changing desktops, instead of the one
17 under the mouse pointer. when followMouse is enabled -->
18 <underMouse>no</underMouse>
19 <!-- move focus under the mouse, even when the mouse is not moving -->
20 <focusDelay>200</focusDelay>
21 <!-- when followMouse is enabled, the mouse must be inside the window for
22 this many milliseconds (1000 = 1 sec) before moving focus to it -->
23 <raiseOnFocus>no</raiseOnFocus>
24 </focus>
25 <!-- when followMouse is enabled, and a window is given focus by moving the
26 mouse into it, also raise the window -->
27 <placement>
28 <policy>Smart</policy>
29 <!-- 'Smart' or 'UnderMouse' -->
30 <center>yes</center>
31 <!-- whether to place windows in the center of the free area found or
32 the top left corner -->
33 <monitor>Any</monitor>
34 </placement>
35 <!-- with Smart placement on a multi-monitor system, try to place new windows
36 on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
37 the active window is -->
38 <theme>
39 <name>Onyx</name>
40 <titleLayout>NLIMC</titleLayout>
41 <!-- available characters are NDSLIMC, each can occur at most once.
42 N: window icon
43 L: window label (AKA title).
44 I: iconify
45 M: maximize
46 C: close
47 S: shade (roll up/down)
48 D: omnipresent (on all desktops).
49 -->
50 <keepBorder>yes</keepBorder>
51 <animateIconify>yes</animateIconify>
52 <font place='ActiveWindow'>
53 <name>sans</name>
54 <size>10</size>
55 <!-- font size in points -->
56 <weight>bold</weight>
57 <!-- 'bold' or 'normal' -->
58 <slant>normal</slant>
59 </font>
60 <!-- 'italic' or 'normal' -->
61 <font place='InactiveWindow'>
62 <name>sans</name>
63 <size>10</size>
64 <!-- font size in points -->
65 <weight>bold</weight>
66 <!-- 'bold' or 'normal' -->
67 <slant>normal</slant>
68 </font>
69 <!-- 'italic' or 'normal' -->
70 <font place='MenuHeader'>
71 <name>sans</name>
72 <size>10</size>
73 <!-- font size in points -->
74 <weight>normal</weight>
75 <!-- 'bold' or 'normal' -->
76 <slant>normal</slant>
77 </font>
78 <!-- 'italic' or 'normal' -->
79 <font place='MenuItem'>
80 <name>sans</name>
81 <size>10</size>
82 <!-- font size in points -->
83 <weight>normal</weight>
84 <!-- 'bold' or 'normal' -->
85 <slant>normal</slant>
86 </font>
87 <!-- 'italic' or 'normal' -->
88 <font place='OnScreenDisplay'>
89 <name>sans</name>
90 <size>10</size>
91 <!-- font size in points -->
92 <weight>bold</weight>
93 <!-- 'bold' or 'normal' -->
94 <slant>normal</slant>
95 </font>
96 </theme>
97 <!-- 'italic' or 'normal' -->
98 <desktops>
99 <!-- this stuff is only used at startup, pagers allow you to change them
100 during a session
101
102 these are default values to use when other ones are not already set
103 by other applications, or saved in your session
104
105 use obconf if you want to change these without having to log out
106 and back in -->
107 <number>2</number>
108 <firstdesk>1</firstdesk>
109 <names/>
110 <!-- set names up here if you want to, like this:
111 <name>desktop 1</name>
112 <name>desktop 2</name>
113 -->
114 <popupTime>875</popupTime>
115 </desktops>
116 <!-- The number of milliseconds to show the popup for when switching
117 desktops. Set this to 0 to disable the popup. -->
118 <resize>
119 <drawContents>yes</drawContents>
120 <popupShow>Nonpixel</popupShow>
121 <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
122 <popupPosition>Center</popupPosition>
123 <!-- 'Center', 'Top', or 'Fixed' -->
124 <popupFixedPosition>
125 <!-- these are used if popupPosition is set to 'Fixed' -->
126 <x>10</x>
127 <!-- positive number for distance from left edge, negative number for
128 distance from right edge, or 'Center' -->
129 <y>10</y>
130 </popupFixedPosition>
131 </resize>
132 <!-- You can reserve a portion of your screen where windows will not cover when
133 they are maximized, or when they are initially placed.
134 Many programs reserve space automatically, but you can use this in other
135 cases. -->
136 <margins>
137 <top>0</top>
138 <bottom>0</bottom>
139 <left>0</left>
140 <right>0</right>
141 </margins>
142 <dock>
143 <position>TopLeft</position>
144 <!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
145 <floatingX>0</floatingX>
146 <floatingY>0</floatingY>
147 <noStrut>no</noStrut>
148 <stacking>Above</stacking>
149 <!-- 'Above', 'Normal', or 'Below' -->
150 <direction>Vertical</direction>
151 <!-- 'Vertical' or 'Horizontal' -->
152 <autoHide>no</autoHide>
153 <hideDelay>300</hideDelay>
154 <!-- in milliseconds (1000 = 1 second) -->
155 <showDelay>300</showDelay>
156 <!-- in milliseconds (1000 = 1 second) -->
157 <moveButton>Middle</moveButton>
158 </dock>
159 <!-- 'Left', 'Middle', 'Right' -->
160 <keyboard>
161 <chainQuitKey>C-g</chainQuitKey>
162 <!-- Keybindings for desktop switching -->
163 <keybind key='C-A-Left'>
164 <action name='DesktopLeft'>
165 <dialog>no</dialog>
166 <wrap>no</wrap>
167 </action>
168 </keybind>
169 <keybind key='C-A-Right'>
170 <action name='DesktopRight'>
171 <dialog>no</dialog>
172 <wrap>no</wrap>
173 </action>
174 </keybind>
175 <keybind key='C-A-Up'>
176 <action name='DesktopUp'>
177 <dialog>no</dialog>
178 <wrap>no</wrap>
179 </action>
180 </keybind>
181 <keybind key='C-A-Down'>
182 <action name='DesktopDown'>
183 <dialog>no</dialog>
184 <wrap>no</wrap>
185 </action>
186 </keybind>
187 <keybind key='S-A-Left'>
188 <action name='SendToDesktopLeft'>
189 <dialog>no</dialog>
190 <wrap>no</wrap>
191 </action>
192 </keybind>
193 <keybind key='S-A-Right'>
194 <action name='SendToDesktopRight'>
195 <dialog>no</dialog>
196 <wrap>no</wrap>
197 </action>
198 </keybind>
199 <keybind key='S-A-Up'>
200 <action name='SendToDesktopUp'>
201 <dialog>no</dialog>
202 <wrap>no</wrap>
203 </action>
204 </keybind>
205 <keybind key='S-A-Down'>
206 <action name='SendToDesktopDown'>
207 <dialog>no</dialog>
208 <wrap>no</wrap>
209 </action>
210 </keybind>
211 <keybind key='W-F1'>
212 <action name='Desktop'>
213 <desktop>1</desktop>
214 </action>
215 </keybind>
216 <keybind key='W-F2'>
217 <action name='Desktop'>
218 <desktop>2</desktop>
219 </action>
220 </keybind>
221 <keybind key='W-F3'>
222 <action name='Desktop'>
223 <desktop>3</desktop>
224 </action>
225 </keybind>
226 <keybind key='W-F4'>
227 <action name='Desktop'>
228 <desktop>4</desktop>
229 </action>
230 </keybind>
231 <keybind key='W-d'>
232 <action name='ToggleShowDesktop'/>
233 </keybind>
234 <keybind key='C-A-d'>
235 <action name='ToggleShowDesktop'/>
236 </keybind>
237 <!-- Keybindings for windows -->
238 <keybind key='A-F4'>
239 <action name='Close'/>
240 </keybind>
241 <keybind key='A-Escape'>
242 <action name='Lower'/>
243 <action name='FocusToBottom'/>
244 <action name='Unfocus'/>
245 </keybind>
246 <keybind key='A-space'>
247 <action name='ShowMenu'>
248 <menu>client-menu</menu>
249 </action>
250 </keybind>
251 <!-- Keybindings for window switching -->
252 <keybind key='A-Tab'>
253 <action name='NextWindow'/>
254 </keybind>
255 <keybind key='A-S-Tab'>
256 <action name='PreviousWindow'/>
257 </keybind>
258 <keybind key='C-A-Tab'>
259 <action name='NextWindow'>
260 <panels>yes</panels>
261 <desktop>yes</desktop>
262 </action>
263 </keybind>
264 <!-- Keybindings for running applications -->
265 <keybind key='W-e'>
266 <action name='Execute'>
267 <startupnotify>
268 <enabled>true</enabled>
269 <name>PCManFM</name>
270 </startupnotify>
271 <command>pcmanfm</command>
272 </action>
273 </keybind>
274 <!-- Keybindings for finding files -->
275 <keybind key='W-f'>
276 <action name='Execute'>
277 <command>pcmanfm --find-files</command>
278 </action>
279 </keybind>
280 <!-- eybindings for LXPanel -->
281 <keybind key='W-p'>
282 <action name='Execute'>
283 <command>lxpanelctl run</command>
284 </action>
285 </keybind>
286 <keybind key='A-F11'>
287 <action name='ToggleFullscreen'/>
288 </keybind>
289 <!-- Launch Task Manager with Ctrl+Alt+Del -->
290 <keybind key='A-C-Delete'>
291 <action name='Execute'>
292 <command>lxtask</command>
293 </action>
294 </keybind>
295 <!-- Launch LXRandR when Fn+Screen is pressed -->
296 <keybind key='XF86Display'>
297 <action name='Execute'>
298 <command>lxrandr</command>
299 </action>
300 </keybind>
301 <keybind key='XF86MonBrightnessUp'>
302 <action name='Execute'>
303 <command>xbacklight -inc 10</command>
304 </action>
305 </keybind>
306 <keybind key='XF86MonBrightnessDown'>
307 <action name='Execute'>
308 <command>xbacklight -dec 10</command>
309 </action>
310 </keybind>
311 <keybind key='A-C-l'>
312 <action name='Execute'>
313 <command>slock</command>
314 </action>
315 </keybind>
316 </keyboard>
317 <mouse>
318 <dragThreshold>8</dragThreshold>
319 <!-- number of pixels the mouse must move before a drag begins -->
320 <doubleClickTime>200</doubleClickTime>
321 <!-- in milliseconds (1000 = 1 second) -->
322 <screenEdgeWarpTime>400</screenEdgeWarpTime>
323 <!-- Time before changing desktops when the pointer touches the edge of the
324 screen while moving a window, in milliseconds (1000 = 1 second).
325 Set this to 0 to disable warping -->
326 <context name='Frame'>
327 <mousebind button='A-Left' action='Press'>
328 <action name='Focus'/>
329 <action name='Raise'/>
330 </mousebind>
331 <mousebind button='A-Left' action='Click'>
332 <action name='Unshade'/>
333 </mousebind>
334 <mousebind button='A-Left' action='Drag'>
335 <action name='Move'/>
336 </mousebind>
337 <mousebind button='A-Right' action='Press'>
338 <action name='Focus'/>
339 <action name='Raise'/>
340 <action name='Unshade'/>
341 </mousebind>
342 <mousebind button='A-Right' action='Drag'>
343 <action name='Resize'/>
344 </mousebind>
345 <mousebind button='A-Middle' action='Press'>
346 <action name='Lower'/>
347 <action name='FocusToBottom'/>
348 <action name='Unfocus'/>
349 </mousebind>
350 <mousebind button='A-Up' action='Click'>
351 <action name='DesktopPrevious'/>
352 </mousebind>
353 <mousebind button='A-Down' action='Click'>
354 <action name='DesktopNext'/>
355 </mousebind>
356 <mousebind button='C-A-Up' action='Click'>
357 <action name='DesktopPrevious'/>
358 </mousebind>
359 <mousebind button='C-A-Down' action='Click'>
360 <action name='DesktopNext'/>
361 </mousebind>
362 <mousebind button='A-S-Up' action='Click'>
363 <action name='SendToDesktopPrevious'/>
364 </mousebind>
365 <mousebind button='A-S-Down' action='Click'>
366 <action name='SendToDesktopNext'/>
367 </mousebind>
368 </context>
369 <context name='Titlebar'>
370 <mousebind button='Left' action='Press'>
371 <action name='Focus'/>
372 <action name='Raise'/>
373 </mousebind>
374 <mousebind button='Left' action='Drag'>
375 <action name='Move'/>
376 </mousebind>
377 <mousebind button='Left' action='DoubleClick'>
378 <action name='ToggleMaximizeFull'/>
379 </mousebind>
380 <mousebind button='Middle' action='Press'>
381 <action name='Lower'/>
382 <action name='FocusToBottom'/>
383 <action name='Unfocus'/>
384 </mousebind>
385 <mousebind button='Up' action='Click'>
386 <action name='Shade'/>
387 <action name='FocusToBottom'/>
388 <action name='Unfocus'/>
389 <action name='Lower'/>
390 </mousebind>
391 <mousebind button='Down' action='Click'>
392 <action name='Unshade'/>
393 <action name='Raise'/>
394 </mousebind>
395 <mousebind button='Right' action='Press'>
396 <action name='Focus'/>
397 <action name='Raise'/>
398 <action name='ShowMenu'>
399 <menu>client-menu</menu>
400 </action>
401 </mousebind>
402 </context>
403 <context name='Top'>
404 <mousebind button='Left' action='Press'>
405 <action name='Focus'/>
406 <action name='Raise'/>
407 <action name='Unshade'/>
408 </mousebind>
409 <mousebind button='Left' action='Drag'>
410 <action name='Resize'>
411 <edge>top</edge>
412 </action>
413 </mousebind>
414 </context>
415 <context name='Left'>
416 <mousebind button='Left' action='Press'>
417 <action name='Focus'/>
418 <action name='Raise'/>
419 </mousebind>
420 <mousebind button='Left' action='Drag'>
421 <action name='Resize'>
422 <edge>left</edge>
423 </action>
424 </mousebind>
425 </context>
426 <context name='Right'>
427 <mousebind button='Left' action='Press'>
428 <action name='Focus'/>
429 <action name='Raise'/>
430 </mousebind>
431 <mousebind button='Left' action='Drag'>
432 <action name='Resize'>
433 <edge>right</edge>
434 </action>
435 </mousebind>
436 </context>
437 <context name='Bottom'>
438 <mousebind button='Left' action='Press'>
439 <action name='Focus'/>
440 <action name='Raise'/>
441 </mousebind>
442 <mousebind button='Left' action='Drag'>
443 <action name='Resize'>
444 <edge>bottom</edge>
445 </action>
446 </mousebind>
447 <mousebind button='Middle' action='Press'>
448 <action name='Lower'/>
449 <action name='FocusToBottom'/>
450 <action name='Unfocus'/>
451 </mousebind>
452 <mousebind button='Right' action='Press'>
453 <action name='Focus'/>
454 <action name='Raise'/>
455 <action name='ShowMenu'>
456 <menu>client-menu</menu>
457 </action>
458 </mousebind>
459 </context>
460 <context name='BLCorner'>
461 <mousebind button='Left' action='Press'>
462 <action name='Focus'/>
463 <action name='Raise'/>
464 </mousebind>
465 <mousebind button='Left' action='Drag'>
466 <action name='Resize'/>
467 </mousebind>
468 </context>
469 <context name='BRCorner'>
470 <mousebind button='Left' action='Press'>
471 <action name='Focus'/>
472 <action name='Raise'/>
473 </mousebind>
474 <mousebind button='Left' action='Drag'>
475 <action name='Resize'/>
476 </mousebind>
477 </context>
478 <context name='TLCorner'>
479 <mousebind button='Left' action='Press'>
480 <action name='Focus'/>
481 <action name='Raise'/>
482 <action name='Unshade'/>
483 </mousebind>
484 <mousebind button='Left' action='Drag'>
485 <action name='Resize'/>
486 </mousebind>
487 </context>
488 <context name='TRCorner'>
489 <mousebind button='Left' action='Press'>
490 <action name='Focus'/>
491 <action name='Raise'/>
492 <action name='Unshade'/>
493 </mousebind>
494 <mousebind button='Left' action='Drag'>
495 <action name='Resize'/>
496 </mousebind>
497 </context>
498 <context name='Client'>
499 <mousebind button='Left' action='Press'>
500 <action name='Focus'/>
501 <action name='Raise'/>
502 </mousebind>
503 <mousebind button='Middle' action='Press'>
504 <action name='Focus'/>
505 <action name='Raise'/>
506 </mousebind>
507 <mousebind button='Right' action='Press'>
508 <action name='Focus'/>
509 <action name='Raise'/>
510 </mousebind>
511 </context>
512 <context name='Icon'>
513 <mousebind button='Left' action='Press'>
514 <action name='Focus'/>
515 <action name='Raise'/>
516 <action name='Unshade'/>
517 <action name='ShowMenu'>
518 <menu>client-menu</menu>
519 </action>
520 </mousebind>
521 <mousebind button='Right' action='Press'>
522 <action name='Focus'/>
523 <action name='Raise'/>
524 <action name='ShowMenu'>
525 <menu>client-menu</menu>
526 </action>
527 </mousebind>
528 </context>
529 <context name='AllDesktops'>
530 <mousebind button='Left' action='Press'>
531 <action name='Focus'/>
532 <action name='Raise'/>
533 <action name='Unshade'/>
534 </mousebind>
535 <mousebind button='Left' action='Click'>
536 <action name='ToggleOmnipresent'/>
537 </mousebind>
538 </context>
539 <context name='Shade'>
540 <mousebind button='Left' action='Press'>
541 <action name='Focus'/>
542 <action name='Raise'/>
543 </mousebind>
544 <mousebind button='Left' action='Click'>
545 <action name='ToggleShade'/>
546 </mousebind>
547 </context>
548 <context name='Iconify'>
549 <mousebind button='Left' action='Press'>
550 <action name='Focus'/>
551 <action name='Raise'/>
552 </mousebind>
553 <mousebind button='Left' action='Click'>
554 <action name='Iconify'/>
555 </mousebind>
556 </context>
557 <context name='Maximize'>
558 <mousebind button='Left' action='Press'>
559 <action name='Focus'/>
560 <action name='Raise'/>
561 <action name='Unshade'/>
562 </mousebind>
563 <mousebind button='Middle' action='Press'>
564 <action name='Focus'/>
565 <action name='Raise'/>
566 <action name='Unshade'/>
567 </mousebind>
568 <mousebind button='Right' action='Press'>
569 <action name='Focus'/>
570 <action name='Raise'/>
571 <action name='Unshade'/>
572 </mousebind>
573 <mousebind button='Left' action='Click'>
574 <action name='ToggleMaximizeFull'/>
575 </mousebind>
576 <mousebind button='Middle' action='Click'>
577 <action name='ToggleMaximizeVert'/>
578 </mousebind>
579 <mousebind button='Right' action='Click'>
580 <action name='ToggleMaximizeHorz'/>
581 </mousebind>
582 </context>
583 <context name='Close'>
584 <mousebind button='Left' action='Press'>
585 <action name='Focus'/>
586 <action name='Raise'/>
587 <action name='Unshade'/>
588 </mousebind>
589 <mousebind button='Left' action='Click'>
590 <action name='Close'/>
591 </mousebind>
592 </context>
593 <context name='Desktop'>
594 <mousebind button='Up' action='Click'>
595 <action name='DesktopPrevious'/>
596 </mousebind>
597 <mousebind button='Down' action='Click'>
598 <action name='DesktopNext'/>
599 </mousebind>
600 <mousebind button='A-Up' action='Click'>
601 <action name='DesktopPrevious'/>
602 </mousebind>
603 <mousebind button='A-Down' action='Click'>
604 <action name='DesktopNext'/>
605 </mousebind>
606 <mousebind button='C-A-Up' action='Click'>
607 <action name='DesktopPrevious'/>
608 </mousebind>
609 <mousebind button='C-A-Down' action='Click'>
610 <action name='DesktopNext'/>
611 </mousebind>
612 <mousebind button='Left' action='Press'>
613 <action name='Focus'/>
614 <action name='Raise'/>
615 </mousebind>
616 <mousebind button='Right' action='Press'>
617 <action name='Focus'/>
618 <action name='Raise'/>
619 </mousebind>
620 </context>
621 <context name='Root'>
622 <!-- Menus -->
623 <mousebind button='Middle' action='Press'>
624 <action name='ShowMenu'>
625 <menu>client-list-combined-menu</menu>
626 </action>
627 </mousebind>
628 <mousebind button='Right' action='Press'>
629 <action name='ShowMenu'>
630 <menu>root-menu</menu>
631 </action>
632 </mousebind>
633 </context>
634 <context name='MoveResize'>
635 <mousebind button='Up' action='Click'>
636 <action name='DesktopPrevious'/>
637 </mousebind>
638 <mousebind button='Down' action='Click'>
639 <action name='DesktopNext'/>
640 </mousebind>
641 <mousebind button='A-Up' action='Click'>
642 <action name='DesktopPrevious'/>
643 </mousebind>
644 <mousebind button='A-Down' action='Click'>
645 <action name='DesktopNext'/>
646 </mousebind>
647 </context>
648 </mouse>
649 <menu>
650 <!-- default menu file (or custom one in $HOME/.config/openbox/) -->
651 <file>/usr/share/lxde/openbox/menu.xml</file>
652 <hideDelay>200</hideDelay>
653 <!-- if a press-release lasts longer than this setting (in milliseconds), the
654 menu is hidden again -->
655 <middle>no</middle>
656 <!-- center submenus vertically about the parent entry -->
657 <submenuShowDelay>100</submenuShowDelay>
658 <!-- this one is easy, time to delay before showing a submenu after hovering
659 over the parent entry -->
660 <applicationIcons>yes</applicationIcons>
661 <!-- controls if icons appear in the client-list-(combined-)menu -->
662 <manageDesktops>yes</manageDesktops>
663 </menu>
664 <!-- show the manage desktops section in the client-list-(combined-)menu -->
665 <applications/>
666</openbox_config>
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 @@
1[*]
2wallpaper_mode=crop
3wallpaper_common=1
4wallpaper=/usr/share/lxde/wallpapers/lxde_blue.jpg
5desktop_bg=#000000
6desktop_fg=#ffffff
7desktop_shadow=#000000
8desktop_font=Sans 12
9show_wm_menu=0
10sort=mtime;ascending;
11show_documents=0
12show_trash=1
13show_mounts=0
14
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 @@
1[config]
2bm_open_method=0
3
4[volume]
5mount_on_startup=1
6mount_removable=1
7autorun=1
8
9[ui]
10always_show_tabs=0
11max_tab_chars=32
12win_width=640
13win_height=480
14maximized=1
15splitter_pos=150
16media_in_new_tab=0
17desktop_folder_new_win=0
18change_tab_on_drop=1
19close_on_unmount=1
20focus_previous=0
21side_pane_mode=places
22view_mode=icon
23show_hidden=0
24sort=name;ascending;
25toolbar=newtab;navigation;home;
26show_statusbar=1
27pathbar_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 @@
1[redshift]
2temp-day=4500
3temp-night=4500
4location-provider=manual
5
6[manual]
7lat=48.8566
8lon=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 @@
1[user]
2 signingkey = DC384748709D2619FF2867216D0CAFFDDB1CFE90
3 email = ismael.bouya@fretlink.com
4 name = Ismaël Bouya
5[commit]
6 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 @@
1[Added Associations]
2text/html=firefox.desktop
3text/xml=firefox.desktop
4application/xhtml+xml=firefox.desktop
5application/vnd.mozilla.xul+xml=firefox.desktop
6text/mml=firefox.desktop
7x-scheme-handler/http=firefox.desktop
8x-scheme-handler/https=firefox.desktop
9inode/directory=pcmanfm.desktop
10
11[Default Applications]
12text/html=firefox.desktop
13text/xml=firefox.desktop
14application/xhtml+xml=firefox.desktop
15application/vnd.mozilla.xul+xml=firefox.desktop
16text/mml=firefox.desktop
17x-scheme-handler/http=firefox.desktop
18x-scheme-handler/https=firefox.desktop
19inode/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 @@
1setxkbmap -layout fr -variant oss -model pc104 -option compose:menu -option nbsp:level3 -option shift:breaks_caps -option terminate:ctrl_alt_bksp
2exec 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 @@
1[Match]
2Name=wl*
3
4[Network]
5DHCP=ipv4
6
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 @@
1Section "Device"
2 Identifier "Intel Graphics"
3 Driver "intel"
4 Option "TearFree" "true"
5 Option "AccelMethod" "sna"
6 Option "Backlight" "intel_backlight"
7EndSection
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 @@
1class workstation::flony {
2 ensure_resource("exec", "mkinitcpio", {
3 command => "/usr/bin/mkinitcpio -p linux",
4 refreshonly => true,
5 })
6
7 include "profile::tools"
8
9 file_line { "mkinitcpio.conf#HOOKS":
10 ensure => "present",
11 path => "/etc/mkinitcpio.conf",
12 match => "^HOOKS\=",
13 line => "HOOKS=(base udev autodetect keyboard keymap modconf block encrypt filesystems fsck)",
14 notify => Exec["mkinitcpio"],
15 }
16
17 ensure_packages(['wpa_supplicant'])
18
19 file { "/etc/wpa_supplicant/wpa_supplicant-wlp2s0.conf":
20 ensure => file,
21 source => "puppet:///modules/workstation/flony/wpa_supplicant.conf",
22 mode => "0755",
23 owner => root,
24 group => root,
25 notify => Service["wpa_supplicant@wlp2s0"],
26 }
27
28 file { "/etc/systemd/network/wlp2s0-dhcp.network":
29 ensure => file,
30 source => "puppet:///modules/workstation/flony/wlp2s0-dhcp.network",
31 mode => "0755",
32 owner => root,
33 group => root,
34 }
35
36 service { "wpa_supplicant@wlp2s0":
37 ensure => "running",
38 enable => true,
39 require => [File["/etc/wpa_supplicant/wpa_supplicant-wlp2s0.conf"], Package["wpa_supplicant"]],
40 }
41 #service { "dhcpcd@wlp2s0.service":
42 # enable => false,
43 #}
44 ensure_packages(['lxde', 'xorg-xinit', 'xorg-fonts-misc', 'xorg-fonts-100dpi', 'xorg-fonts-75dpi', 'xorg-fonts-type1', 'noto-fonts-emoji'])
45
46 ensure_packages(['firefox'])
47
48 ensure_packages(['dmidecode', 'fwupd'])
49
50 aur::package { "geteltorito": }
51
52 ensure_packages(['stack'])
53 # ensure_packages(['ghc'], {
54 # ensure => absent,
55 # uninstall_options => "-sc"
56 # })
57
58 ensure_packages(['xorg-xev', 'xorg-xset', 'xorg-xbacklight', 'slock'])
59
60 ensure_packages(['mesa', 'xf86-video-intel', 'vulkan-intel'])
61 file { "/etc/X11/xorg.conf.d/20-intel.conf":
62 ensure => file,
63 source => "puppet:///modules/workstation/flony/xorg_intel.conf",
64 mode => "0755",
65 owner => "root",
66 group => "root",
67 }
68
69 ensure_packages(['redshift', 'python-xdg', 'python-gobject'])
70
71 # xdg-open
72 ensure_packages(['xdg-utils'])
73
74 ensure_packages(['postgresql', 'postgis'])
75
76 # User
77 file { "/home/ismael/.bash_logout":
78 ensure => file,
79 content => "#\n# ~/.bash_logout\n#\n",
80 mode => "0644",
81 owner => "ismael",
82 group => "ismael",
83 }
84 file { "/home/ismael/.bashrc":
85 ensure => file,
86 source => "puppet:///modules/workstation/flony/home/bashrc",
87 mode => "0644",
88 owner => "ismael",
89 group => "ismael",
90 }
91 file { "/home/ismael/.gitconfig":
92 ensure => file,
93 source => "puppet:///modules/workstation/flony/home/gitconfig",
94 mode => "0644",
95 owner => "ismael",
96 group => "ismael",
97 }
98 file { "/home/ismael/.xinitrc":
99 ensure => file,
100 source => "puppet:///modules/workstation/flony/home/xinitrc",
101 mode => "0644",
102 owner => "ismael",
103 group => "ismael",
104 }
105
106 file { "/home/ismael/.config":
107 ensure => directory,
108 source => "puppet:///modules/workstation/flony/home/config",
109 recurse => "remote",
110 owner => "ismael",
111 group => "ismael",
112 }
113 file { "/home/ismael/.local":
114 ensure => directory,
115 source => "puppet:///modules/workstation/flony/home/local",
116 recurse => "remote",
117 owner => "ismael",
118 group => "ismael",
119 }
120}