22 lines
520 B
Nix
22 lines
520 B
Nix
|
{ pkgs, ... }:
|
||
|
|
||
|
let
|
||
|
addressbook = "$HOME/.abook/addressbook";
|
||
|
contacts = "$HOME/Contacts";
|
||
|
in
|
||
|
pkgs.writeShellApplication {
|
||
|
name = "dav-sync";
|
||
|
runtimeInputs = [ "vdirsyncer" "coreutils" "abook" ];
|
||
|
text = ''
|
||
|
vdirsyncer discover && \
|
||
|
vdirsyncer sync && \
|
||
|
mkdir -p "$(dirname "${addressbook}")" && \
|
||
|
cat "${contacts}"/*/*/* | \
|
||
|
abook \
|
||
|
--convert \
|
||
|
--informat vcard \
|
||
|
--outformat abook > \
|
||
|
"${addressbook}"
|
||
|
'';
|
||
|
}
|