Start working on workstation configuration

This commit is contained in:
Nemo 2020-10-11 13:26:29 +02:00
parent b9621f6d54
commit 537d0df4fc
10 changed files with 278 additions and 0 deletions

2
.gitignore vendored
View File

@ -5,3 +5,5 @@ roles/powerdns.*
inventory*
!inventory_template/inventory.yml
!inventory_template*
vars-workstation/vault-workstation.yml
vars-workstation/vars-workstation.yml

View File

@ -0,0 +1,13 @@
---
- hosts: localhost
vars_files:
- vars-workstation/vault-workstation.yml
- vars-workstation/vars-workstation.yml
roles:
- client_resolvers
- client_tools
- client_ntp
- client_iptables
- workstation_mutt

View File

@ -0,0 +1,36 @@
Ansible Role: workstation mutt
=========
This role configure Mutt on a GNU/Linux workstation.
Requirements
------------
Mutt, gpg2 and abook installed.
Role Variables
--------------
All variables and default values are defined in `defaults/main.yml`/
Dependencies
------------
None.
Example Playbook
----------------
- hosts: localhost
roles:
- workstation_mutt
License
-------
BSD
Author Information
------------------
This role was created in 2020 by Nemo.

View File

@ -0,0 +1,27 @@
---
# defaults file for workstation_mutt
workstation_mutt_user: john
workstation_mutt_group: john
workstation_mutt_home: /home/john
workstation_mutt_realname: "John DOE"
workstation_mutt_spoolfile: "imaps://example.org:993/INBOX"
workstation_mutt_imap_user: "john"
workstation_mutt_imap_pass: "YOURSMTPPASSWORD"
workstation_mutt_smtp_url: "smtp://example.org:587/"
workstation_mutt_smtp_pass: "YOURSMTPPASSWORD"
workstation_mutt_from: "john@example.org"
workstation_mutt_trash: "imaps://example.org/Trash"
workstation_mutt_record: "+Sent"
workstation_mutt_postponed: "+Drafts"
workstation_mutt_folder: "imaps://example.org:993/"
workstation_mutt_pgp_sign_as: YOURPHPIDKEY
workstation_mutt_packages:
- gnupg
- mutt
- abook
- antiword
- pstotext
- poppler
- links

View File

@ -0,0 +1,19 @@
galaxy_info:
author: nemo
description: Configure Mutt on a GNU/Linux workstation.
company: Wirebrass
license: license (BSD)
min_ansible_version: 2.4
platforms:
- name: Gentoo
versions:
- all
galaxy_tags:
- mutt
- mail
dependencies: []

View File

@ -0,0 +1,3 @@
---
- import_tasks: package.yml
- import_tasks: mutt.yml

View File

@ -0,0 +1,16 @@
---
- name: Mailcap configured
template:
src: mailcap.j2
dest: "{{ workstation_mutt_home }}/.mailcap"
owner: "{{ workstation_mutt_user }}"
group: "{{ workstation_mutt_group }}"
mode: 0600
- name: Mutt configured
template:
src: muttrc.j2
dest: "{{ workstation_mutt_home }}/.muttrc"
owner: "{{ workstation_mutt_user }}"
group: "{{ workstation_mutt_group }}"
mode: 0600

View File

@ -0,0 +1,5 @@
---
- name: Mutt, abook, antiword, pstotext, gnupg and poppler installed
package:
name: "{{ workstation_mutt_packages }}"
state: present

View File

@ -0,0 +1,4 @@
text/html; links %s; nametemplate=%s.html
text/html; links -dump %s; nametemplate=%s.html; copiousoutput
application/msword; antiword '%s'; copiousoutput; description=Word Document; nametemplate=%s.doc
application/pdf; pdftotext '%s' -; copiousoutput; description=PDF Document; nametemplate=%s.pdf

View File

@ -0,0 +1,153 @@
# jeu de caractères des messages envoyés
set send_charset="utf-8"
# si aucun jeu de caractères n'est indiqué pour les messages entrant, nous supposons qu'il s'agit de windows
set assumed_charset="iso-8859-1"
# défiler d'une ligne au lieu d'une page
set menu_scroll=yes
# créer un motif de recherche par défaut pour chercher dans , To, Cc et Subject
set simple_search="~f %s | ~C %s | ~s %s"
# configuration de base
set realname="{{ workstation_mutt_realname }}"
set header_cache =~/.mutt/cache/headers
set certificate_file =~/.mutt/certificates
set message_cachedir =~/.mutt/cache/bodies
# configuration imap
set spoolfile="{{ workstation_mutt_spoolfile }}"
set imap_user="{{ workstation_mutt_imap_user }}"
set imap_pass="{{ workstation_mutt_imap_pass }}"
set imap_passive="no"
set imap_check_subscribed="yes"
set imap_list_subscribed="yes"
# configuration SMTP
set smtp_url="{{ workstation_mutt_smtp_url }}"
set smtp_pass="{{ workstation_mutt_smtp_pass }}"
set from="{{ workstation_mutt_from }}"
set use_envelope_from=yes # Pour que postfix ou sendmail ne change pas votre from
# petit plus
set trash="{{ workstation_mutt_trash }}"
set record="{{ workstation_mutt_record }}"
set postponed="{{ workstation_mutt_postponed }}"
set folder="{{ workstation_mutt_folder }}"
set imap_check_subscribed=yes
set mail_check=120
set timeout=300
set imap_keepalive=300
set signature='~/signature.txt'
# locales FR pour les nom des jours et mois
#set locale="fr_FR"
# Format de date
set date_format="%A %d %b %Y à %H:%M:%S (%Z)"
# phrase d'intro pour réponse quotée
set attribution="Le %d, %n a écrit :"
set forward_format="[Fwd: %s]"
set forward_quote
mailboxes !
#Editeur
set edit_hdrs
auto_view text/html
set editor="vim -c 'set syntax=mail ft=mail enc=utf-8'" # indiquer ici votre éditeur de texte préféré.
color attachment magenta default # attachments
color body brightred default "(ftp|http)://[^ ]+" # point out URLs
color body brightcyan default [-a-z_0-9.]+@[-a-z_0-9.]+ # e-mail addresses
color bold brightblue default # boldface text
color error brightwhite red # error messages
color hdrdefault magenta default # default color of message header
color header brightmagenta default ^(From): # From and Subject header
color header brightwhite default ^(Subject): # From and Subject header
color header brightwhite default ^(Date): # Date header
color header white default ^(In-Reply-To):
color indicator brightred default # indicator bar
color markers brightblue default # wrapped line markers (+)
color message brightblack green # status messages
color normal default default # default
color quoted yellow default # quoted text, 1st quote level
color quoted1 green default # quoted text, 2nd quote level
color quoted2 brightblue default # quoted text, 3rd quote level
color quoted3 blue default # quoted text, 4th quoet level
color search black yellow # matched search patterns in pager
color signature red default # the signature (after sigdashes)
color status default blue # status lines
color tilde brightblue default # ``~'' used to pad blank lines
color tree green default # thread tree in the index menu
color underline brightgreen default # underlined text
set pager_index_lines=7
set pager_stop
set mask=".*" # the default mask hides dotfiles and maildirs are dotfiles now.
macro index c "<change-folder>?<toggle-mailboxes>" "open a different folder"
macro pager c "<change-folder>?<toggle-mailboxes>" "open a different folder"
auto_view text/html
bind index G imap-fetch-mail
set timeout=30
# ne pas montrer tous les entêtes seulement quelques-uns *
ignore *
unignore From To Cc Bcc Date Subject
# et dans cet ordre
unhdr_order *
hdr_order From: To: Cc: Bcc: Date: Subject:
# activate TLS if available on the server
set ssl_starttls=yes
# always use SSL when connecting to a server
set ssl_force_tls=yes
# Display download progress every 5K
set net_inc=5
# Cancel a message when subject is blank
set abort_nosubject=yes
auto_view application/msword
auto_view application/pdf
set query_command= "abook --mutt-query '%s'"
macro index,pager A "<pipe-message>abook --add-email-quiet<return>" "Ajouter l'expediteur dans abook"
bind editor <Tab> complete-query
# set up the sidebar, default not visible
set sidebar_visible=yes
set sidebar_width=20
set sidebar_folder_indent=yes
set sidebar_short_path=yes
bind index \CP sidebar-prev
bind index \CN sidebar-next
bind index \CO sidebar-open
bind pager \CP sidebar-prev
bind pager \CN sidebar-next
bind pager \CO sidebar-open
color sidebar_new yellow default
set mailcap_path=~/.mailcap
set sidebar_sort_method=alpha
#set beep_new=yes
set crypt_replysign=yes
set crypt_replyencrypt=yes
set crypt_replysignencrypted=yes
set crypt_autosign=yes
set crypt_verify_sig=yes
set pgp_sign_as={{ workstation_mutt_pgp_sign_as }}
set pgp_decode_command="gpg2 %?p?--passphrase- 0? --no-verbose --batch --output - %f"
set pgp_verify_command="gpg2 --no-verbose --batch --output --verify %s %f"
set pgp_decrypt_command="gpg2 --passphrase- 0 --no-verbose --batch --output - %f"
set pgp_sign_command="gpg2 --no-verbose --batch --output --passphrase- 0 --armor --detach-sign --textmode %?a?-u %a? %f"
set pgp_autosign=yes
set pgp_replyencrypt=yes
set pgp_replysign=yes
set pgp_timeout=300
set pgp_good_sign="^gpg: Signature correcte de "
set pgp_import_command="gpg2 --no-verbose --import %f"