The hive for Göktuğ's Emacs Stuff.
Branch: devel
Clone or download

Göktuğ’s Emacs Lisp Bits


This repository is a swarm for all the Elisp stuff I published. Most files will have licence information in it, which don’t are licenced under the MIT licence, whose text is available in the LICENSE file.

What’s here?

Below is a listing of all the programs here:


«forecast.el» is a weather forecast report generator, currently using data from Dark Sky (but I plan to add other backends in the future).


«Paper» is a little, minimal emacs theme that is meant to be simple and consistent.

It was first intended to resemble the look of paper, but has diverged from that objective. Still, though, I keep calling it Paper, as I like that name.

Paper uses a small colour palette over all the elements. Org headings are specially treated with a palette of equidistant colours. The colours and heading font sizes are calculated using base and factor values which can be edited. See source.

It’s most adapted for ELisp-Org users, as I’m one such user, though it works fine with Markdown, Textile, Python, JavaScript, Html, Diff, Magit, etc.


«pass-listing» is a simple frontend to the pass utility. It uses the functions from password-store.el.


«bsdpkg» is an Emacs interface to FreeBSD pkg(1). It’s planned to genericise the package to support all *BSD packaging systems, and the module is written with that sort of extensibility in mind.

This is experimental, and kind-of obsoleted as I don’t use BSD at the moment. I’d be happy to accept changes or to hand it over if anybody will be interested.


«bibliothek.el» is a personal PDF library manager. Presently it only displays a concatenated tabular list of PDF files from many locations, and allows to open the files or view metadata from that list. Find below a screenshot of the default view. I intend to add some functionality for moving PDF files around and editing the metadata.


«gk-unilat» is a unified input method for European variants of the Latin alphabet.

It aims to provide comprehensive support for typing characters found in different European versions of the Latin alphabet, in a unified, predictable way.


«gk-greek» is a transliterating input method for modern Greek.

Translates input in Greek latinization into Greek alphabet. Mappings are based on vocal correspondence and common modern transliteration.


«org-variable-pitch.el» is a minor mode that enables ‘variable-pitch-mode’ in the current Org-mode buffer, and sets some particular faces up so that they are are rendered in fixed-width font. Also, indentation, list bullets and checkboxes are displayed in monospace, in order to keep the shape of the outline.


This package provides a macro named $ where in its body symbols in the form $N where N is a positive integer are to stand for positional arguments to the generated lambda.

If the car of the body is a vector though, that vector becomes the argument list of the new lambda.

Some examples:

($ (message "Hello, %s" $1))
(funcall ($ (* $1 $1)) 2)
(reduce ($ [a b] (concat a b)) (list "hel" "lo"))


Thanks for your contribution! Please submit a pull request or e-mail a patch. Explain clearly your changes and the rationale for them, and include a clear commit message, prefixed with the relevant filename.

Please write your commit message as in the example below:

file-name.el: imperative-mood summary of changes

Optionally further explain the change.


Please mention the relevant filename in your issue title.

Get packages on Melpa stable



  • Use :version-regexp
  • Use individual repos

OVP minor mode updates the buffer partially when not run in the org mode hook


  1. emacs -Q -L $OVP_CHECKOUT_DIR
  2. eval the following:
    1. (require 'org-variable-pitch)
    2. (set-face-attribute 'org-variable-pitch-face nil :background "darkorange1")
  3. find some complex org mode file
    1. M-x org-variable-pitch-minor-mode

Compare that with doing the following after (2.ii):

  • close the org-mode file
  • eval the following:
    • (add-hook 'org-mode-hook 'org-variable-pitch-minor-mode)
  • visit the same org-mode file

In the former case the face is partially applied to list items and checkboxes, as the orange background will indicate.

Further, in both cases, when the mode is toggled off, the face application is only partially undone.

Make a public package archive for this repo

As an alternative method to install from this repo.

  • See info:elisp#Package Archives

Use ox-hugo to publish a website for this repo

  • [X] Make the website
  • [X] Send feedback to Kaushal about the experience

forecast.el: daily views [0/3]

Implement forecast daily views.

  • [ ] Under the graph, each day name is a link
  • [ ] which when clicked, opens up a view
  • [ ] where the hourly data for that day is rendered.

Add OVP to Melpa

  • [X] Update issue#31 on Github when you send the PR to Melpa.
  • [X] Accepted?

dollar.el: ignore quoted expressions when looking for arguments

($ '$1)

Should produce

(lambda nil '$1)

But it currently produces

(lambda ($1) '$1)

See this thread on Reddit.

dollar.el: $* should stand for the entire argument list

Like &rest args.

See this thread on Reddit.