nix-config/home/dav/common.nix

240 lines
6.9 KiB
Nix
Raw Permalink Normal View History

2022-01-18 09:32:55 +01:00
{ config, pkgs, ... }:
let
calendars = "${config.home.homeDirectory}/Calendars";
contacts = "${config.home.homeDirectory}/Contacts";
addressbook = "${config.home.homeDirectory}/.abook/addressbook";
pass = "${pkgs.pass}/bin/pass";
tokens = "${config.home.homeDirectory}/.vdirsyncer/tokens/";
in {
home.file.".config/vdirsyncer/config".text = ''
[general]
status_path = "${config.home.homeDirectory}/.vdirsyncer/status/"
#############
# nextcloud #
#############
## calendar
[pair nextcloud_calendar]
a = "nextcloud_calendar_local"
b = "nextcloud_calendar_remote"
collections = ["personal", "contact_birthdays", "yoga", "events"]
metadata = ["color"]
[storage nextcloud_calendar_local]
type = "filesystem"
path = "${calendars}/nextcloud/"
fileext = ".ics"
[storage nextcloud_calendar_remote]
type = "caldav"
url = "https://nextcloud.monotremata.xyz/"
username = "rilla"
password.fetch = ["command", "${pass}", "narwhal/nextcloud.monotremata.xyz/rilla"]
## contacts
[pair nextcloud_contacts]
a = "nextcloud_contacts_local"
b = "nextcloud_contacts_remote"
collections = ["contacts"]
[storage nextcloud_contacts_local]
type = "filesystem"
path = "${contacts}/nextcloud/"
fileext = ".vcf"
[storage nextcloud_contacts_remote]
type = "carddav"
url = "https://nextcloud.monotremata.xyz/"
username = "rilla"
password.fetch = ["command", "${pass}", "narwhal/nextcloud.monotremata.xyz/rilla"]
##########
# google #
##########
## calendar
[pair google_calendar_sync]
a = "google_calendar_remote"
b = "google_calendar_local"
collections = [["gcal", "r.illa.pujagut@gmail.com", "r.illa.pujagut@gmail.com"]]
[storage google_calendar_local]
type = "filesystem"
path = "${calendars}/google/"
fileext = ".ics"
[storage google_calendar_remote]
type = "google_calendar"
token_file = "${tokens}/goole_calendar"
client_id.fetch = ["command", "${pass}", "google.com/vdirsyncer/client_id"]
client_secret.fetch = ["command", "${pass}", "google.com/vdirsyncer/client_secret"]
## contacts
[pair google_contacts]
a = "google_contacts_local"
b = "google_contacts_remote"
collections = [["gcontacts", "default", "default"]]
[storage google_contacts_local]
type = "filesystem"
path = "${contacts}/google/"
fileext = ".vcf"
[storage google_contacts_remote]
type = "google_contacts"
token_file = "${tokens}/google_contacts"
client_id.fetch = ["command", "${pass}", "google.com/vdirsyncer/client_id"]
client_secret.fetch = ["command", "${pass}", "google.com/vdirsyncer/client_secret"]
###########
# trakken #
###########
## calendar
[pair trakken_calendar_sync]
a = "trakken_calendar_remote"
b = "trakken_calendar_local"
collections = [["trakken_cal", "ricard@trkkn.com", "ricard@trkkn.com"]]
[storage trakken_calendar_local]
type = "filesystem"
path = "${calendars}/trakken/"
fileext = ".ics"
[storage trakken_calendar_remote]
type = "google_calendar"
token_file = "${tokens}/trakken_calendar"
client_id.fetch = ["command", "${pass}", "google.com/vdirsyncer/client_id"]
client_secret.fetch = ["command", "${pass}", "google.com/vdirsyncer/client_secret"]
## contacts
[pair trakken_contacts]
a = "trakken_contacts_local"
b = "trakken_contacts_remote"
collections = [["trakken_contacts", "default", "default"]]
[storage trakken_contacts_local]
type = "filesystem"
path = "${contacts}/trakken"
fileext = ".vcf"
[storage trakken_contacts_remote]
type = "google_contacts"
token_file = "${tokens}/trakken_contacts"
client_id.fetch = ["command", "${pass}", "google.com/vdirsyncer/client_id"]
client_secret.fetch = ["command", "${pass}", "google.com/vdirsyncer/client_secret"]
'';
home.file.".config/khal/config".text = ''
[calendars]
[[default]]
path = ${calendars}/nextcloud/personal/
color = dark green
[[birthdays]]
path = ${calendars}/nextcloud/contact_birthdays/
color = dark green
[[google]]
path = ${calendars}/google/r.illa.pujagut@gmail.com/
color = dark blue
[[trakken]]
path = ${calendars}/trakken/ricard@trkkn.com/
color = dark red
[[yoga]]
path = ${calendars}/nextcloud/yoga/
color = dark magenta
[[events]]
path = ${calendars}/nextcloud/events
color = brown
# supported colors:
# black, white, brown, yellow, dark gray, dark green, dark blue,
# light gray, light green, light blue, dark magenta, dark cyan, dark red,
# light magenta, light cyan, light red.
[view]
dynamic_days = True
frame = color
theme = dark
[locale]
default_timezone = Europe/Madrid
local_timezone = Europe/Madrid
timeformat = %H:%M
dateformat= %m-%d
longdateformat= %Y-%m-%d
datetimeformat= %m-%d %H:%M
longdatetimeformat= %Y-%m-%d %H:%M
'';
home.file.".config/khard/khard.conf".text = ''
[addressbooks]
[[default]]
path = ${contacts}/nextcloud/contacts/
[[google]]
path = ${contacts}/google/default/
[[trakken]]
path = ${contacts}/trakken/default/
[general]
debug = no
default_action = list
# These are either strings or comma seperated lists
editor = vim, -i, NONE
merge_editor = vimdiff
[contact table]
# display names by first or last name: first_name / last_name / formatted_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 / formatted_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
# default: , (the empty list)
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 = no
# skip unparsable vcard files: yes / no
skip_unparsable = no
'';
}