Skip to content
Boris Buliga edited this page Jul 16, 2024 · 5 revisions

Vino

Banner

🍷 It's your cellar, your dear cantina 🍷

license changelog version

What is Vino?

Vino is an advanced Emacs program tailored for managing wine cellars. It boasts a variety of built-in features, including wine rating and cellar tracking, alongside extension points for customisation. Importantly, Vino does not come preloaded with a database of wine-related information such as regions, appellations, grape varieties, producers, or specific wines. This design choice allows for a more personalised experience.

Explore Barberry Garden to see the potential of what can be developed using Vino and its companion, Vulpea.

Quickstart guide

Currently, Vino is not available on MELPA. However, you can manually install it using various tools like straight, quelpa, or others.

Initial setup

After installation, initiate Vino by running vino-setup. Remember, Vino requires Vulpea as a dependency.

Using straight

To install using straight, follow these steps:

  1. Install and setup Vulpea:

    (straight-use-package 'vulpea)
    (vulpea-setup)
  2. Install and setup Vino:

    (setq-default vino-rating-scale 5.0
                  vino-rating-precision 1
                  vino-rating-props `((1 . ((SCORE . 5.0)))))
    
    (straight-use-package
     '(vino :type git :host github :repo "d12frosted/vino"))
    (vino-setup)
    
    ;; optionally sync the database
    (org-roam-db-sync)
Integration with use-package

If you have integrated straight with use-package, use the following configuration:

(use-package vino
  :straight (vino
             :type git
             :host github
             :repo "d12frosted/vino")
  :hook
  (after-init . vino-setup)
  :init
  (setq-default vino-rating-scale 5.0
                vino-rating-precision 1)
  :config
  (setq vino-rating-props `((1 . ((SCORE . 5.0)))))
  ;; optionally sync the database when vino is loaded
  (org-roam-db-sync))

Mandatory configuration

While Vino is designed to work out-of-the-box in most scenarios, there are a few essential requirements to ensure its proper functioning:

  • Unique IDs for Notes: Every note should have a unique ID. This is generally managed by the Vulpea library.
  • Proper Tagging: Ensure that each note is appropriately tagged. For guidance on how to do this, refer to the 'Setting Tags' section.
  • Configure vino-rating-props: This variable must be set up for Vino to understand how you intend to rate your wines. Detailed instructions can be found in the 'Rating' section.

Apart from these mandatory configurations, Vino offers a variety of optional settings to tailor the experience to your needs. For more information on these, please visit the 'Configuration' section.