tvl-depot/third_party/lieer/default.nix

40 lines
1.1 KiB
Nix

# Lieer is a small tool to synchronise a Gmail account with a local
# maildir.
#
# Lieer is packaged in nixpkgs, but as of 2019-12-23 it is an old
# version using the previous branding (gmailieer).
{ pkgs, ... }:
with pkgs.third_party;
let
# My employer does not allow third-party projects to use our email
# accounts, but I want to use lieer for it anyways.
#
# To accomplish this the following derivation creates a patch that
# replaces the API client with one that I control.
authPatch = runCommand "client_secret.patch" {} ''
export PATH=${lib.makeBinPath [ gettext ]}:$PATH
export CLIENT_SECRET='${builtins.getEnv "LIEER_CLIENT_SECRET"}'
cat ${./api_client.patch} | envsubst > $out
'';
in python3Packages.buildPythonApplication rec {
name = "lieer-${version}";
version = "1.0";
src = fetchFromGitHub {
owner = "gauteh";
repo = "lieer";
rev = "v${version}";
sha256 = "1zzylv8xbcrh34bz0s29dawzcyx39lai8y8wk0bl4x75v1jfynvf";
};
patches = [ authPatch ];
propagatedBuildInputs = with python3Packages; [
notmuch
oauth2client
google_api_python_client
tqdm
];
}