 ;; begin envs setup
 
 ;; nvm env variable setups
+(defconst twitter-dir (expand-file-name "twitter" (expand-file-name ".config" (concat (getenv "HOME")))))
+
 (defconst nvm-dir (concat (getenv "HOME") "/.nvm"))
+(defconst caches-dir (expand-file-name "caches" user-emacs-directory))
 
 (defun nvm-version (path)
   "Return nvm current nvm version."

;; R mode supports
(use-package ess :pin melpa)

;; rust supports
(use-package rust-mode :pin melpa :mode "\\.rs$"
  :config (setq rust-format-on-save t))

(use-package rust-playground :pin melpa )
(use-package cargo :pin melpa)

  :config (counsel-projectile-mode) :init
  (setq projectile-switch-project-action 'projectile-dired))

(use-package org-projectile
  :pin melpa
  :bind (("C-c n p" . org-projectile-project-todo-completing-read)
         ("C-c c" . org-capture))
  :config
  (progn
    (org-projectile-per-project)
    (setq org-projectile-per-project-filepath ".notes/todo.org")
    (setq org-agenda-files (append org-agenda-files (org-projectile-todo-files)))
    (push (org-projectile-project-todo-entry) org-capture-templates))
  :ensure t)

(use-package org-ql :pin melpa)

;; end projectile & ivy setup

(use-package gruvbox-theme :pin melpa)
(use-package flatui-theme :pin melpa)
(use-package brutalist-theme :pin melpa)
(use-package zerodark-theme :pin melpa)
(use-package cloud-theme :pin melpa)
(use-package poet-theme :pin melpa)
(use-package faff-theme :pin melpa)
(use-package mood-one-theme :pin melpa)
(use-package silkworm-theme :pin melpa)
(use-package hydandata-light-theme :pin melpa)
(use-package eziam-theme :pin melpa)
(use-package parchment-theme :pin melpa)
(use-package nord-theme :pin melpa)
;; (use-package almost-mono-theme :pin melpa)
(use-package darktooth-theme :pin melpa)

;; (load-theme 'brutalist-dark t)
;; (load-theme 'eziam-dark t)
;; (load-theme 'cloud t)
;; (load-theme 'mood-one t)
;; (load-theme 'leuven t)
;; (load-theme 'gruvbox-dark-soft t)
;; (load-theme 'adwaita t)
;; (load-theme 'zerodark t)
(load-theme 'faff)
;; (load-theme 'silkworm t)
(zerodark-setup-modeline-format)

;; multiple major modes in emacs
(use-package polymode :pin melpa)
