diff options
author | Ismaël Bouya <ismael.bouya@normalesup.org> | 2018-10-02 22:53:29 +0200 |
---|---|---|
committer | Ismaël Bouya <ismael.bouya@normalesup.org> | 2018-10-05 10:39:42 +0200 |
commit | 98a071604ea9f7569aa0fa0688bc9d35081770c3 (patch) | |
tree | ca3d17a50e0bb0be15bb9c02b75b903acdb965a4 /modules | |
parent | ed7b09a7b7c88c49e4fddb8cbe49e6a4ce6bce10 (diff) | |
download | Puppet-workstation/flony.tar.gz Puppet-workstation/flony.tar.zst Puppet-workstation/flony.zip |
Add Flony workstationworkstation/flony
Diffstat (limited to 'modules')
32 files changed, 1431 insertions, 125 deletions
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 @@ | |||
1 | class base_installation::grub inherits base_installation { | 1 | class 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 @@ | |||
1 | class base_installation ( | 1 | class 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 @@ | |||
1 | class base_installation::ldap inherits base_installation { | 1 | class 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 | |||
6 | objectclass: top | 6 | objectclass: top |
7 | objectclass: simpleSecurityObject | 7 | objectclass: simpleSecurityObject |
8 | objectclass: puppetClient | 8 | objectclass: puppetClient |
9 | <%- unless @ips.empty? -%> | 9 | <%- unless @ips.nil? || @ips.empty? -%> |
10 | objectclass: ipHost | 10 | objectclass: 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 | - |
8 | replace: environment | 8 | replace: environment |
9 | environment: <%= @environment %> | 9 | environment: <%= @environment %> |
10 | <%- unless @ips.empty? -%> | 10 | <%- unless @ips.nil? || @ips.empty? -%> |
11 | - | 11 | - |
12 | delete: ipHostNumber | 12 | delete: 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 | ||
17 | environment = <%= @environment %> | 17 | environment = <%= @environment %> |
18 | 18 | ||
19 | <% if @ldap_enabled %> | ||
19 | node_terminus = ldap | 20 | node_terminus = ldap |
20 | certname = <%= @real_hostname %> | 21 | certname = <%= @real_hostname %> |
21 | ldapserver = <%= @ldap_server %> | 22 | ldapserver = <%= @ldap_server %> |
@@ -26,3 +27,4 @@ ldappassword = <%= @ldap_password %> | |||
26 | ldapclassattrs = puppetClass | 27 | ldapclassattrs = puppetClass |
27 | ldapparentattr = parentNode | 28 | ldapparentattr = parentNode |
28 | ldapstackedattrs = puppetVar | 29 | ldapstackedattrs = 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] |
5 | DHCP=ipv4 | 5 | DHCP=ipv4 |
6 | 6 | ||
7 | <%- unless @ip6.empty? -%> | 7 | <%- unless @ip6.nil? || @ip6.empty? -%> |
8 | Gateway=<%= @ip6["gateway"] %> | 8 | Gateway=<%= @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 @@ | |||
1 | if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then | ||
2 | exec startx | ||
3 | 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 @@ | |||
1 | # | ||
2 | # ~/.bashrc | ||
3 | # | ||
4 | |||
5 | # If not running interactively, don't do anything | ||
6 | [[ $- != *i* ]] && return | ||
7 | |||
8 | alias ls='ls --color=auto' | ||
9 | 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 @@ | |||
1 | [Desktop Entry] | ||
2 | Name=Redshift | ||
3 | GenericName=Redshift | ||
4 | Exec=/usr/bin/redshift-gtk | ||
5 | Icon=redshift | ||
6 | Terminal=false | ||
7 | 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 @@ | |||
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] | ||
5 | single_click=0 | ||
6 | use_trash=1 | ||
7 | confirm_del=1 | ||
8 | confirm_trash=1 | ||
9 | advanced_mode=0 | ||
10 | si_unit=0 | ||
11 | force_startup_notify=1 | ||
12 | backup_as_hidden=1 | ||
13 | no_usb_trash=1 | ||
14 | no_child_non_expandable=0 | ||
15 | show_full_names=0 | ||
16 | only_user_templates=0 | ||
17 | template_run_app=0 | ||
18 | template_type_once=0 | ||
19 | auto_selection_delay=600 | ||
20 | drop_default_action=auto | ||
21 | defer_content_test=0 | ||
22 | quick_exec=0 | ||
23 | thumbnail_local=1 | ||
24 | thumbnail_max=2048 | ||
25 | smart_desktop_autodrop=1 | ||
26 | |||
27 | [ui] | ||
28 | big_icon_size=48 | ||
29 | small_icon_size=24 | ||
30 | pane_icon_size=24 | ||
31 | thumbnail_size=128 | ||
32 | show_thumbnail=1 | ||
33 | shadow_hidden=0 | ||
34 | |||
35 | [places] | ||
36 | places_home=1 | ||
37 | places_desktop=1 | ||
38 | places_root=0 | ||
39 | places_computer=0 | ||
40 | places_trash=1 | ||
41 | places_applications=1 | ||
42 | places_network=0 | ||
43 | 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 @@ | |||
1 | [Command] | ||
2 | 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 @@ | |||
1 | # lxpanel <profile> config file. Manually editing is not recommended. | ||
2 | # Use preference dialog in lxpanel to adjust config when you can. | ||
3 | |||
4 | Global { | ||
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 | } | ||
23 | Plugin { | ||
24 | type=space | ||
25 | Config { | ||
26 | Size=2 | ||
27 | } | ||
28 | } | ||
29 | Plugin { | ||
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 | } | ||
48 | Plugin { | ||
49 | type=launchbar | ||
50 | Config { | ||
51 | Button { | ||
52 | id=pcmanfm.desktop | ||
53 | } | ||
54 | Button { | ||
55 | id=firefox.desktop | ||
56 | } | ||
57 | } | ||
58 | } | ||
59 | Plugin { | ||
60 | type=space | ||
61 | Config { | ||
62 | Size=4 | ||
63 | } | ||
64 | } | ||
65 | Plugin { | ||
66 | type=wincmd | ||
67 | Config { | ||
68 | Button1=iconify | ||
69 | Button2=shade | ||
70 | } | ||
71 | } | ||
72 | Plugin { | ||
73 | type=space | ||
74 | Config { | ||
75 | Size=4 | ||
76 | } | ||
77 | } | ||
78 | Plugin { | ||
79 | type=pager | ||
80 | Config { | ||
81 | } | ||
82 | } | ||
83 | Plugin { | ||
84 | type=space | ||
85 | Config { | ||
86 | Size=4 | ||
87 | } | ||
88 | } | ||
89 | Plugin { | ||
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 | } | ||
106 | Plugin { | ||
107 | type=monitors | ||
108 | Config { | ||
109 | DisplayCPU=1 | ||
110 | DisplayRAM=1 | ||
111 | CPUColor=#0000FF | ||
112 | RAMColor=#FF0000 | ||
113 | } | ||
114 | } | ||
115 | Plugin { | ||
116 | type=volume | ||
117 | Config { | ||
118 | VolumeMuteKey=XF86AudioMute | ||
119 | VolumeDownKey=XF86AudioLowerVolume | ||
120 | VolumeUpKey=XF86AudioRaiseVolume | ||
121 | } | ||
122 | } | ||
123 | Plugin { | ||
124 | type=tray | ||
125 | Config { | ||
126 | } | ||
127 | } | ||
128 | Plugin { | ||
129 | type=dclock | ||
130 | Config { | ||
131 | ClockFmt=%R | ||
132 | TooltipFmt=%A %x | ||
133 | BoldFont=0 | ||
134 | IconOnly=0 | ||
135 | CenterText=0 | ||
136 | } | ||
137 | } | ||
138 | Plugin { | ||
139 | type=netstatus | ||
140 | Config { | ||
141 | iface=enp0s31f6 | ||
142 | configtool=nm-connection-editor | ||
143 | } | ||
144 | } | ||
145 | Plugin { | ||
146 | type=netstatus | ||
147 | Config { | ||
148 | iface=wlp2s0 | ||
149 | configtool=nm-connection-editor | ||
150 | } | ||
151 | } | ||
152 | Plugin { | ||
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] | ||
2 | synaptic=synaptic-pkexec | ||
3 | soffice.bin=libreoffice | ||
4 | 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 @@ | |||
1 | [Mime] | ||
2 | webbrowser/available= | ||
3 | email/available= | ||
4 | file_manager/available= | ||
5 | screensaver/available= | ||
6 | composite_manager/available= | ||
7 | desktop_manager/available= | ||
8 | power_manager/available= | ||
9 | polkit/available= | ||
10 | im/available= | ||
11 | widget/available= | ||
12 | terminal_manager/available= | ||
13 | audio_player/available= | ||
14 | video_player/available= | ||
15 | pdf_reader/available= | ||
16 | image_display/available= | ||
17 | text_editor/available= | ||
18 | archive/available= | ||
19 | spreadsheet/available= | ||
20 | bittorent/available= | ||
21 | document/available= | ||
22 | burn/available= | ||
23 | tasks/available= | ||
24 | webbrowser/installed=Firefox,/usr/lib/firefox/firefox,firefox,/usr/share/applications/firefox.desktop,; | ||
25 | email/installed= | ||
26 | file_manager/installed=Gestionnaire de fichiers PCManFM,pcmanfm,system-file-manager,/usr/share/applications/pcmanfm.desktop,; | ||
27 | screensaver/installed= | ||
28 | composite_manager/installed= | ||
29 | 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,; | ||
30 | power_manager/installed= | ||
31 | polkit/installed= | ||
32 | im/installed= | ||
33 | widget/installed= | ||
34 | terminal_manager/installed=LXTerminal,lxterminal,lxterminal,/usr/share/applications/lxterminal.desktop,; | ||
35 | 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,; | ||
36 | 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,; | ||
37 | pdf_reader/installed=Visionneur d'images,gpicview,gpicview,/usr/share/applications/gpicview.desktop,; | ||
38 | image_display/installed=Visionneur d'images,gpicview,gpicview,/usr/share/applications/gpicview.desktop,; | ||
39 | text_editor/installed=Vim,vim,gvim,/usr/share/applications/vim.desktop,; | ||
40 | archive/installed= | ||
41 | spreadsheet/installed= | ||
42 | bittorent/installed= | ||
43 | document/installed= | ||
44 | burn/installed= | ||
45 | 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 @@ | |||
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] | ||
2 | window_manager=openbox-lxde | ||
3 | disable_autostart=no | ||
4 | polkit/command=lxpolkit | ||
5 | clipboard/command=lxclipboard | ||
6 | xsettings_manager/command=build-in | ||
7 | proxy_manager/command=build-in | ||
8 | keyring/command=ssh-agent | ||
9 | quit_manager/command=lxsession-logout | ||
10 | lock_manager/command=lxlock | ||
11 | terminal_manager/command=lxterminal | ||
12 | quit_manager/image=/usr/share/lxde/images/logout-banner.png | ||
13 | quit_manager/layout=top | ||
14 | webbrowser/command=/usr/lib/firefox/firefox | ||
15 | tasks/command=lxtask | ||
16 | |||
17 | [GTK] | ||
18 | sNet/ThemeName=Adwaita | ||
19 | sNet/IconThemeName=nuoveXT2 | ||
20 | sGtk/FontName=Sans 10 | ||
21 | iGtk/ToolbarStyle=3 | ||
22 | iGtk/ButtonImages=1 | ||
23 | iGtk/MenuImages=1 | ||
24 | iGtk/CursorThemeSize=18 | ||
25 | iXft/Antialias=1 | ||
26 | iXft/Hinting=1 | ||
27 | sXft/HintStyle=hintslight | ||
28 | sXft/RGBA=rgb | ||
29 | iNet/EnableEventSounds=1 | ||
30 | iNet/EnableInputFeedbackSounds=1 | ||
31 | sGtk/ColorScheme= | ||
32 | iGtk/ToolbarIconSize=3 | ||
33 | sGtk/CursorThemeName=DMZ-White | ||
34 | |||
35 | [Mouse] | ||
36 | AccFactor=20 | ||
37 | AccThreshold=10 | ||
38 | LeftHanded=0 | ||
39 | |||
40 | [Keyboard] | ||
41 | Delay=500 | ||
42 | Interval=30 | ||
43 | Beep=1 | ||
44 | |||
45 | [State] | ||
46 | guess_default=true | ||
47 | |||
48 | [Dbus] | ||
49 | lxde=true | ||
50 | |||
51 | [Environment] | ||
52 | 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 @@ | |||
1 | [general] | ||
2 | fontname=Monospace 10 | ||
3 | selchars=-A-Za-z0-9,./?%&#:_ | ||
4 | scrollback=1000 | ||
5 | bgcolor=rgb(0,0,0) | ||
6 | fgcolor=rgb(170,170,170) | ||
7 | palette_color_0=rgb(0,0,0) | ||
8 | palette_color_1=rgb(170,0,0) | ||
9 | palette_color_2=rgb(0,170,0) | ||
10 | palette_color_3=rgb(170,85,0) | ||
11 | palette_color_4=rgb(0,0,170) | ||
12 | palette_color_5=rgb(170,0,170) | ||
13 | palette_color_6=rgb(0,170,170) | ||
14 | palette_color_7=rgb(170,170,170) | ||
15 | palette_color_8=rgb(85,85,85) | ||
16 | palette_color_9=rgb(255,85,85) | ||
17 | palette_color_10=rgb(85,255,85) | ||
18 | palette_color_11=rgb(255,255,85) | ||
19 | palette_color_12=rgb(85,85,255) | ||
20 | palette_color_13=rgb(255,85,255) | ||
21 | palette_color_14=rgb(85,255,255) | ||
22 | palette_color_15=rgb(255,255,255) | ||
23 | color_preset=VGA | ||
24 | disallowbold=false | ||
25 | cursorblinks=false | ||
26 | cursorunderline=false | ||
27 | audiblebell=false | ||
28 | tabpos=top | ||
29 | geometry_columns=80 | ||
30 | geometry_rows=24 | ||
31 | hidescrollbar=false | ||
32 | hidemenubar=false | ||
33 | hideclosebutton=false | ||
34 | hidepointer=false | ||
35 | disablef10=true | ||
36 | disablealt=true | ||
37 | disableconfirm=false | ||
38 | |||
39 | [shortcut] | ||
40 | new_window_accel=<Primary><Shift>n | ||
41 | new_tab_accel=<Primary><Shift>t | ||
42 | close_tab_accel=<Primary><Shift>w | ||
43 | close_window_accel=<Primary><Shift>q | ||
44 | copy_accel=<Primary><Shift>c | ||
45 | paste_accel=<Primary><Shift>v | ||
46 | name_tab_accel=<Primary><Shift>i | ||
47 | previous_tab_accel=<Primary>Page_Up | ||
48 | next_tab_accel=<Primary>Page_Down | ||
49 | move_tab_left_accel=<Primary><Shift>Page_Up | ||
50 | move_tab_right_accel=<Primary><Shift>Page_Down | ||
51 | zoom_in_accel=<Primary><Shift>plus | ||
52 | zoom_out_accel=<Primary><Shift>underscore | ||
53 | zoom_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 | [*] | ||
2 | wallpaper_mode=crop | ||
3 | wallpaper_common=1 | ||
4 | wallpaper=/usr/share/lxde/wallpapers/lxde_blue.jpg | ||
5 | desktop_bg=#000000 | ||
6 | desktop_fg=#ffffff | ||
7 | desktop_shadow=#000000 | ||
8 | desktop_font=Sans 12 | ||
9 | show_wm_menu=0 | ||
10 | sort=mtime;ascending; | ||
11 | show_documents=0 | ||
12 | show_trash=1 | ||
13 | show_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] | ||
2 | bm_open_method=0 | ||
3 | |||
4 | [volume] | ||
5 | mount_on_startup=1 | ||
6 | mount_removable=1 | ||
7 | autorun=1 | ||
8 | |||
9 | [ui] | ||
10 | always_show_tabs=0 | ||
11 | max_tab_chars=32 | ||
12 | win_width=640 | ||
13 | win_height=480 | ||
14 | maximized=1 | ||
15 | splitter_pos=150 | ||
16 | media_in_new_tab=0 | ||
17 | desktop_folder_new_win=0 | ||
18 | change_tab_on_drop=1 | ||
19 | close_on_unmount=1 | ||
20 | focus_previous=0 | ||
21 | side_pane_mode=places | ||
22 | view_mode=icon | ||
23 | show_hidden=0 | ||
24 | sort=name;ascending; | ||
25 | toolbar=newtab;navigation;home; | ||
26 | show_statusbar=1 | ||
27 | 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 @@ | |||
1 | [redshift] | ||
2 | temp-day=4500 | ||
3 | temp-night=4500 | ||
4 | location-provider=manual | ||
5 | |||
6 | [manual] | ||
7 | lat=48.8566 | ||
8 | 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 @@ | |||
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] | ||
2 | text/html=firefox.desktop | ||
3 | text/xml=firefox.desktop | ||
4 | application/xhtml+xml=firefox.desktop | ||
5 | application/vnd.mozilla.xul+xml=firefox.desktop | ||
6 | text/mml=firefox.desktop | ||
7 | x-scheme-handler/http=firefox.desktop | ||
8 | x-scheme-handler/https=firefox.desktop | ||
9 | inode/directory=pcmanfm.desktop | ||
10 | |||
11 | [Default Applications] | ||
12 | text/html=firefox.desktop | ||
13 | text/xml=firefox.desktop | ||
14 | application/xhtml+xml=firefox.desktop | ||
15 | application/vnd.mozilla.xul+xml=firefox.desktop | ||
16 | text/mml=firefox.desktop | ||
17 | x-scheme-handler/http=firefox.desktop | ||
18 | x-scheme-handler/https=firefox.desktop | ||
19 | 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 @@ | |||
1 | setxkbmap -layout fr -variant oss -model pc104 -option compose:menu -option nbsp:level3 -option shift:breaks_caps -option terminate:ctrl_alt_bksp | ||
2 | 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 @@ | |||
1 | [Match] | ||
2 | Name=wl* | ||
3 | |||
4 | [Network] | ||
5 | DHCP=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 @@ | |||
1 | Section "Device" | ||
2 | Identifier "Intel Graphics" | ||
3 | Driver "intel" | ||
4 | Option "TearFree" "true" | ||
5 | Option "AccelMethod" "sna" | ||
6 | Option "Backlight" "intel_backlight" | ||
7 | 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 @@ | |||
1 | class 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 | } | ||