;; Added by Package.el.  This must come before configurations of
;; installed packages.  Don't delete this line.  If you don't want it,
;; just comment it out by adding a semicolon to the start of the line.
;; You may delete these explanatory comments.
(require 'package)
(add-to-list 'package-archives
             '("melpa" . "http://melpa.org/packages/") t)
(add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t)
(package-initialize)



(global-set-key (kbd "<f3>") (lambda () (interactive) (find-file (concat "~/ungleich-learning-circle/kjg/learning-"(system-name)"-"(format-time-string "%Y")".org"))))
(global-set-key (kbd "C-x g") 'magit-status)
(global-set-key (kbd "C-c a") 'org-agenda)
(global-set-key (kbd "<f8>")  'org-todo-list)

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(epg-gpg-program "/usr/local/bin/gpg")
 '(org-agenda-files
   (quote
    ("~/ungleich-learning-circle/kjg/todo.org" "~/learning.org")))
 '(package-selected-packages (quote (org org-gnome org-dp ## which-key magit)))
 '(python-shell-interpreter "python3")
 '(send-mail-function (quote sendmail-send-it)))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )

(require 'epa-file)

(epa-file-enable)

(setq elpy-rpc-virtualenv-path 'current)

;(use-package elpy
;	     :ensure t
;	     :config
;	     (elpy-enable)
;	     (setq elpy-rpc-python-command "python3")
;	     (setq elpy-rpc-backend "jedi")
;	     (elpy-use-cpython (or (executable-find "python3")
;                       (executable-find "/usr/bin/python3")
;                        (executable-find "/usr/local/bin/python3")
;                        "python3"))
  ;; (elpy-use-ipython)
;  (setq python-shell-interpreter-args "--simple-prompt -i")
;  (add-hook 'python-mode-hook (lambda () (setq indent-tabs-mode nil))))

;(use-package ein :ensure t)

(setq elpy-rpc-python-command "python3")

(defvar myPackages
   '(better-defaults                 ;; Set up some better Emacs defaults
     elpy                            ;; Emacs Lisp Python Environment
     flycheck                        ;; On the fly syntax checking
     py-autopep8                     ;; Run autopep8 on save
     blacken                         ;; Black formatting on save
     ein                             ;; Emacs IPython Notebook
     material-theme                  ;; Theme
     )
)

(elpy-enable)

;; Use IPython for REPL
;(setq python-shell-interpreter "jupyter"
;      python-shell-interpreter-args "console --simple-prompt"
;      python-shell-prompt-detect-failure-warning nil)
;(add-to-list 'python-shell-completion-native-disabled-interpreters
;             "jupyter")
;; Enable Flycheck
(when (require 'flycheck nil t)
  (setq elpy-modules (delq 'elpy-module-flymake elpy-modules))
  (add-hook 'elpy-mode-hook 'flycheck-mode))

;(setq mu4e-mu-binary "/usr/local/bin/mu")

;(add-to-list 'load-path "/usr/local/share/emacs/site-lisp/mu/mu4e")
;(require 'mu4e)

;(setq
; mue4e-headers-skip-duplicates  t
; mu4e-view-show-images t
; mu4e-view-show-addresses t
; mu4e-compose-format-flowed nil
; mu4e-date-format "%y/%m/%d"
; mu4e-headers-date-format "%Y/%m/%d"
; mu4e-change-filenames-when-moving t
; mu4e-attachments-dir "~/Downloads"

; mu4e-maildir       "~/Maildir/ungleich"   ;; top-level Maildir
 ;; note that these folders below must start with /
 ;; the paths are relative to maildir root
; mu4e-refile-folder "/Archive"
; mu4e-sent-folder   "/Sent"
; mu4e-drafts-folder "/Drafts"
; mu4e-trash-folder  "/Trash"
; mu4e-reply-to-address "jinguk.kwon@ungleich.ch"
; user-mail-address "jinguk.kwon@ungleich.ch"
; user-full-name  "kjg")

;; this setting allows to re-sync and re-index mail
;; by pressing U
;(setq mu4e-get-mail-command  "mbsync -a")

;(setq mail-host-address "mail.ungleich.ch")


;(setq send-mail-function   'smtpmail-send-it
;      message-send-mail-function 'smtpmail-send-it
;      user-mail-address "jinguk.kwon@ungleich.ch"
;      smtpmail-starttls-credentials '(("smtp.ungleich.ch" 587 nil nil))
;      smtpmail-auth-credentials "~/.authinfo.gpg"
;      smtpmail-default-smtp-server "smtp.ungleich.ch"
;      smtpmail-smtp-server "smtp.ungleich.ch"
;      smtpmail-smtp-service 587
;      smtpmail-smtp-user  "jinguk.kwon@ungleich.ch"
;      smtpmail-debug-info t
;      smtpmail-debug-verb t)
      ;;starttls-extra-arguments nil
      ;;starttls-gnutls-program (executable-find "gnutls-cli")
      ;;smtpmail-warn-about-unknown-extensions t
      ;;starttls-use-gnutls t)

;(require 'smtpmail)

;;store org-mode links to messages
;(require 'org-mu4e)

;(define-key mu4e-headers-mode-map (kbd "C-c c") 'mu4e-org-store-and-capture)
;(define-key mu4e-view-mode-map    (kbd "C-c c") 'mu4e-org-store-and-capture)

(setq org-directory (expand-file-name "~/ungleich-learning-circle/kjg/"))
;;store link to message if in header view, not to header query
(setq org-mu4e-link-query-in-headers-mode nil)

(setq org-capture-templates
      '(("t" "todo" entry (file+headline (lambda() (concat "~/ungleich-learning-circle/kjg/todo-"(system-name)"-"(format-time-string "%Y")".org")) "Tasks")
                  "* TODO [#A] %?\nSCHEDULED: %(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n%a\n")))

(setq org-log-done 'time)