personal-cli: Add nextcloud calendar syncing

This commit is contained in:
traxys 2024-03-27 00:24:52 +01:00
parent f8cc6cf4fa
commit bdf400c153
2 changed files with 44 additions and 4 deletions

6
flake.lock generated
View file

@ -563,11 +563,11 @@
]
},
"locked": {
"lastModified": 1710714957,
"narHash": "sha256-eZCxuF58YWgaJMMRrn8oRkwRhxooe5kBS/s2wRVr9PA=",
"lastModified": 1711133180,
"narHash": "sha256-WJOahf+6115+GMl3wUfURu8fszuNeJLv9qAWFQl3Vmo=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "7b3fca5adcf6c709874a8f2e0c364fe9c58db989",
"rev": "1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb",
"type": "github"
},
"original": {

View file

@ -1,4 +1,15 @@
{pkgs, ...}: {
{
pkgs,
lib,
...
}: let
bwPass = pkgs.writeShellScript "bw-pass" ''
${lib.getExe pkgs.bitwarden-cli} get item $@ | ${lib.getExe pkgs.jq} -r .login.password
'';
bwUser = pkgs.writeShellScript "bw-user" ''
${lib.getExe pkgs.bitwarden-cli} get item $@ | ${lib.getExe pkgs.jq} -r .login.username
'';
in {
home.packages = with pkgs; [
bitwarden-cli
hbw
@ -45,6 +56,35 @@
};
};
programs.khal.enable = true;
programs.vdirsyncer.enable = true;
services.vdirsyncer.enable = true;
accounts.calendar = {
basePath = ".calendar";
accounts.personal = let
bwId = "07619222-49eb-4d66-ad8c-ca7c81a9868d";
in {
primary = true;
primaryCollection = "QC";
remote = {
type = "caldav";
url = "https://nextcloud.familleboyer.net/remote.php";
passwordCommand = ["${bwPass}" bwId];
};
vdirsyncer = {
enable = true;
collections = ["from a"];
userNameCommand = ["${bwUser}" bwId];
metadata = ["color" "displayname"];
};
khal = {
type = "discover";
enable = true;
};
};
};
home.file = {
bin = {
source = ./scripts;