#+TITLE: Wakatime layer #+TAGS: layer|web service [[file:img/wakatime.png]] * Table of Contents :TOC_5_gh:noexport: - [[#description][Description]] - [[#features][Features:]] - [[#install][Install]] - [[#wakatime-program][Wakatime Program]] - [[#layer][Layer]] - [[#note-about-api-key-and-bug-submission][Note about api key and bug submission]] - [[#api-keys][API Keys]] - [[#note-to-venv-workon-users][Note to =venv-workon= users:]] * Description This layer adds support for Wakatime. WakaTime was built to solve time tracking for programmers. Since we work inside a text editor, why should we have to start and stop a timer? WakaTime uses open-source text editor plugins to automatically track the time you spend programming so you never have to manually track it again! P.S. wakati means time in Swahili ** Features: - Integration with Wakatime cloud based time tracking service * Install ** Wakatime Program You can follow wakatime installation instructions here [[https://github.com/wakatime/wakatime-mode]]. In short it's just: #+BEGIN_SRC sh pip install wakatime #+END_SRC And for some linux users #+BEGIN_SRC sh sudo pip install wakatime #+END_SRC ** Layer To use this configuration layer, add it to your =~/.spacemacs=. You will need to add =wakatime= to the existing =dotspacemacs-configuration-layers= list in this file. Example: #+BEGIN_SRC emacs-lisp (setq-default dotspacemacs-configuration-layers '( ;; ... (wakatime :variables wakatime-api-key "your-api-key" ;; use the actual wakatime path wakatime-cli-path "/usr/bin/wakatime") ;; ... )) #+END_SRC *** Note about api key and bug submission If you use the built-in Spacemacs bug submission tool it will include all of your layer configs including your secret api key. Please remove it before submitting. Even better don't store your key directly in the layer config. Instead put the following code in your user-config which is set after your layer config: #+BEGIN_SRC emacs-lisp (setq wakatime-api-key "your-api-key") #+END_SRC Everything you set there won't appear in the bug submitting tool. ** API Keys After this go to your wakatime account and have your API key handy [[https://wakatime.com/settings/account?apikey=true]]. Restart emacs and it will prompt you for the location of the wakatime installer (just put in whatever =which wakatime= gives you in the terminal e.g. =/usr/bin/wakatime= for example) and that's it. *** Note to =venv-workon= users: Right now wakatime uses =python= as python bin executable, so if you use =venv-workon= because you have python projects which need to have a virtual env., then wakatime, which is installed system-wide will have trouble locating wakatime files, so it's best to define by yourself the python path where wakatime can always find it's stuff, via this variable: #+BEGIN_SRC emacs-lisp (setq wakatime-python-bin "/path/to/python") #+END_SRC