Evie Litherland-Smith
987cfbacae
Use password-store where possible to populate secret store without user interaction (currently only Proton still needs manual input) Add spotify to secret store ready for spotifyd
74 lines
1.9 KiB
Nix
74 lines
1.9 KiB
Nix
{ config, pkgs, ... }:
|
|
{
|
|
programs = {
|
|
vdirsyncer.enable = true;
|
|
khal = {
|
|
enable = true;
|
|
locale = {
|
|
timeformat = "%H:%M";
|
|
dateformat = "%Y-%m-%d";
|
|
longdateformat = "%Y-%m-%d %a";
|
|
datetimeformat = "%Y-%m-%d %H:%M";
|
|
longdatetimeformat = "%Y-%m-%d %H:%M";
|
|
};
|
|
};
|
|
};
|
|
services.vdirsyncer = {
|
|
inherit (config.programs.vdirsyncer) enable package;
|
|
frequency = "*:0/30"; # Every 30 minutes
|
|
};
|
|
accounts.calendar = {
|
|
basePath = "Calendar";
|
|
accounts = {
|
|
main =
|
|
let
|
|
url = "dav.xenia.me.uk";
|
|
in
|
|
{
|
|
primary = true;
|
|
primaryCollection = "personal";
|
|
local = {
|
|
type = "filesystem";
|
|
fileExt = ".ics";
|
|
};
|
|
remote =
|
|
let
|
|
userName = "pixelifytica";
|
|
in
|
|
{
|
|
inherit userName;
|
|
url = "https://${url}";
|
|
type = "caldav";
|
|
passwordCommand = [
|
|
"${pkgs.libsecret}/bin/secret-tool"
|
|
"lookup"
|
|
"url"
|
|
"${url}"
|
|
"user"
|
|
"${userName}"
|
|
];
|
|
};
|
|
vdirsyncer = {
|
|
inherit (config.programs.vdirsyncer) enable;
|
|
auth = "basic";
|
|
collections = [
|
|
"personal"
|
|
"work"
|
|
"other"
|
|
];
|
|
metadata = [ "displayname" ];
|
|
timeRange = {
|
|
start = "datetime.now() - timedelta(days=365)";
|
|
end = "datetime.now() + timedelta(days=365)";
|
|
};
|
|
};
|
|
khal = {
|
|
inherit (config.programs.khal) enable;
|
|
type = "discover";
|
|
addresses = with config.accounts.email.accounts.proton; [ address ] ++ aliases;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|