88 lines
2 KiB
Nix
88 lines
2 KiB
Nix
|
{ lib, pkgs, ... }:
|
||
|
|
||
|
with lib;
|
||
|
|
||
|
let
|
||
|
|
||
|
# from home-manager/modules/services/lieer.nix
|
||
|
escapeUnitName = name:
|
||
|
let
|
||
|
good = upperChars ++ lowerChars ++ stringToCharacters "0123456789-_";
|
||
|
subst = c: if any (x: x == c) good then c else "-";
|
||
|
in stringAsChars subst name;
|
||
|
|
||
|
accounts = {
|
||
|
work = {
|
||
|
primary = true;
|
||
|
address = "griffin@urbint.com";
|
||
|
aliases = [ "grfn@urbint.com" ];
|
||
|
passEntry = "urbint/msmtp-app-password";
|
||
|
};
|
||
|
|
||
|
personal = {
|
||
|
address = "root@gws.fyi";
|
||
|
passEntry = "root-gws-msmtp";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
in {
|
||
|
programs.lieer.enable = true;
|
||
|
programs.notmuch.enable = true;
|
||
|
services.lieer.enable = true;
|
||
|
programs.msmtp.enable = true;
|
||
|
|
||
|
home.packages = with pkgs; [
|
||
|
mu
|
||
|
msmtp
|
||
|
];
|
||
|
|
||
|
# nixpkgs.overlays = [(self: super: {
|
||
|
# notifymuch = self.python3Packages.callPackage ../../pkgs/notifymuch.nix {};
|
||
|
# })];
|
||
|
|
||
|
systemd.user.services = mapAttrs' (name: account: {
|
||
|
name = escapeUnitName "lieer-${name}";
|
||
|
value.Service.ExecStart = mkForce "${pkgs.writeShellScript "sync-${name}" ''
|
||
|
${pkgs.gmailieer}/bin/gmi sync
|
||
|
''}";
|
||
|
# ${pkgs.notifymuch}/bin/notifymuch
|
||
|
}) accounts;
|
||
|
|
||
|
# xdg.configFile."notifymuch/notifymuch.cfg".text = generators.toINI {} {
|
||
|
# notifymuch = {
|
||
|
# query = "is:unread and is:important";
|
||
|
# mail_client = "";
|
||
|
# recency_interval_hours = "48";
|
||
|
# hidden_tags = "inbox unread attachment replied sent encrypted signed";
|
||
|
# };
|
||
|
# };
|
||
|
|
||
|
accounts.email.maildirBasePath = "mail";
|
||
|
accounts.email.accounts = mapAttrs (_: params@{ passEntry, ... }: {
|
||
|
realName = "Griffin Smith";
|
||
|
passwordCommand = "pass ${passEntry}";
|
||
|
|
||
|
flavor = "gmail.com";
|
||
|
|
||
|
imapnotify = {
|
||
|
enable = true;
|
||
|
boxes = [ "Inbox" ];
|
||
|
};
|
||
|
|
||
|
gpg = {
|
||
|
key = "0F11A989879E8BBBFDC1E23644EF5B5E861C09A7";
|
||
|
signByDefault = true;
|
||
|
};
|
||
|
|
||
|
notmuch.enable = true;
|
||
|
lieer = {
|
||
|
enable = true;
|
||
|
sync = {
|
||
|
enable = true;
|
||
|
frequency = "*:*";
|
||
|
};
|
||
|
};
|
||
|
msmtp.enable = true;
|
||
|
} // builtins.removeAttrs params ["passEntry"]) accounts;
|
||
|
}
|