automate/020_mutt-khard.sh

112 lines
2.9 KiB
Bash
Executable File

#FIXME: Install khard contacts support in mutt NOT TESTED YET
apt install -y khard
# khard integration
# khard is a command-line addressbook that uses locally-stored carddav address book entries.
# You can use vdirsyncer to sync those with CardDAV servers.
# Create new contact with:
# 'khard new -a address_book -i template.yaml'
# or with:
# 'cat template.yaml | khard new -a address_book'
TARGET="${1:-/etc/skel}"
NEOMUTTCONF="${TARGET}"/.config/mutt
cat >> "${NEOMUTTCONF}"/muttrc <<'EOF'
## khard integration
# khard is a command-line addressbook that uses locally-stored carddav address book entries.
# You can use vdirsyncer to sync those with CardDAV servers.
# Create new contact with:
# 'khard new -a address_book -i template.yaml'
# or with:
# 'cat template.yaml | khard new -a address_book'
set query_command= "khard email -p %s"
bind editor <Tab> complete-query
bind editor ^T complete
macro index,pager A \
"<pipe-message>khard add-email<return>" \
"add the sender email address to khard"
EOF
mkdir -p "${TARGET}"/.contacts/family/
mkdir -p "${TARGET}"/.contacts/friends/
mkdir -p "${TARGET}"/.contacts/business/
# /usr/share/doc/khard/examples/khard/khard.conf.example
mkdir -p "${TARGET}"/.config/khard
cat >"${TARGET}"/.config/khard/khard.conf <<'EOF'
[addressbooks]
[[Nextcloud]]
# path to directory of vdirsynced contacts
path = ${TARGET}/.contacts/contacts
[[family]]
path = ~/.contacts/family/
[[friends]]
path = ~/.contacts/friends/
[[business]]
path = ~/.contacts/business/
[general]
debug = no
default_action = list
editor = vim
merge_editor = vimdiff
[contact table]
# display names by first or last name: first_name / last_name
display = first_name
# group by address book: yes / no
group_by_addressbook = no
# reverse table ordering: yes / no
reverse = no
# append nicknames to name column: yes / no
show_nicknames = no
# show uid table column: yes / no
show_uids = yes
# sort by first or last name: first_name / last_name
sort = last_name
# localize dates: yes / no
localize_dates = yes
# set a comma separated list of preferred phone number types in descending priority
# or nothing for non-filtered alphabetical order
preferred_phone_number_type = pref, cell, home
# set a comma separated list of preferred email address types in descending priority
# or nothing for non-filtered alphabetical order
preferred_email_address_type = pref, work, home
[vcard]
# extend contacts with your own private objects
# these objects are stored with a leading "X-" before the object name in the vcard files
# every object label may only contain letters, digits and the - character
# example:
# private_objects = Jabber, Skype, Twitter
private_objects = Jabber, Skype, Twitter
# preferred vcard version: 3.0 / 4.0
preferred_version = 3.0
# Look into source vcf files to speed up search queries: yes / no
search_in_source_files = yes
# skip unparsable vcard files: yes / no
skip_unparsable = no
EOF