#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

