51 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			1.3 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, ... }:
 | 
						|
 | 
						|
# For a variety of reasons (specific to my setup), custom OAuth2
 | 
						|
# scopes are used.
 | 
						|
#
 | 
						|
# The below client ID is the default for *@tazj.in and is overridden
 | 
						|
# in a private repository for my work account. Publishing it here is
 | 
						|
# not a security issue.
 | 
						|
{
 | 
						|
  clientId ? "515965513093-7b4bo4gm0q09ccsmikkuaas9a40j0jcj.apps.googleusercontent.com",
 | 
						|
  clientSecret ? "3jVbpfT4GmubFD64svctJSdQ",
 | 
						|
  project ? "tazjins-infrastructure"
 | 
						|
}:
 | 
						|
 | 
						|
with pkgs;
 | 
						|
 | 
						|
let
 | 
						|
  authPatch = runCommand "client_secret.patch" {} ''
 | 
						|
    export CLIENT_ID='${clientId}'
 | 
						|
    export CLIENT_SECRET='${clientSecret}'
 | 
						|
    export PROJECT_ID='${project}'
 | 
						|
    cat ${./api_client.patch} | ${gettext}/bin/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
 | 
						|
    ./send_scope.patch
 | 
						|
  ];
 | 
						|
 | 
						|
  propagatedBuildInputs = with python3Packages; [
 | 
						|
    notmuch
 | 
						|
    oauth2client
 | 
						|
    google_api_python_client
 | 
						|
    tqdm
 | 
						|
  ];
 | 
						|
}
 |