diff --git a/flake.lock b/flake.lock index 5552f20..b003fc7 100644 --- a/flake.lock +++ b/flake.lock @@ -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": { diff --git a/personal-cli/hm.nix b/personal-cli/hm.nix index 6c5e051..9c63378 100644 --- a/personal-cli/hm.nix +++ b/personal-cli/hm.nix @@ -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;