Skip to content
Boris Buliga edited this page Nov 22, 2025 · 8 revisions

Vino

Banner

🍷 It's your cellar, your dear cantina 🍷

license changelog version

What is Vino?

Vino is an advanced Emacs program designed for managing wine cellars. It provides built-in features for wine rating and cellar tracking, along with powerful extension points for customization. Unlike other wine management tools, Vino does not come with a pre-populated database of wine-related information (regions, appellations, grape varieties, producers, or wines). Instead, you build your own knowledge base, creating a truly personalized experience tailored to your collection and preferences.

To see what's possible with Vino, explore Barberry Garden—a showcase of features built using Vino and its companion library, Vulpea.

⚠️ Important: As of Vino 0.5.0, Vulpea v2 is required. Vulpea v2 no longer depends on org-roam and uses a different setup process. If you're upgrading from an earlier version, please review the updated installation instructions below carefully.

Quick Start Guide

Vino is not currently available on MELPA. You can install it manually using package managers like straight or quelpa.

Installation

Vino requires Vulpea v2 as a dependency. After installing both packages, initialize Vino by calling vino-setup.

Using straight

Follow these steps to install with straight:

  1. Install and configure Vulpea v2:

    (straight-use-package 'vulpea)
    
    ;; Configure Vulpea database
    (setq vulpea-db-location (expand-file-name "vulpea.db" org-directory)
          vulpea-db-sync-directories (list org-roam-directory))
    
    ;; Enable automatic database synchronization
    (vulpea-db-autosync-mode +1)
  2. Install and configure Vino:

    ;; Configure rating system (5-point scale with 1 decimal place)
    (setq-default vino-rating-scale 5.0
                  vino-rating-precision 1
                  vino-rating-props `((1 . ((SCORE . 5.0)))))
    
    ;; Install Vino
    (straight-use-package
     '(vino :type git :host github :repo "d12frosted/vino"))
    (vino-setup)
    
    ;; Optional: Perform initial database synchronization
    (vulpea-db-sync-full-scan 'force)
Integration with use-package

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

(use-package vulpea
  :straight t
  :custom
  (vulpea-db-location (expand-file-name "vulpea.db" org-directory))
  (vulpea-db-sync-directories (list org-roam-directory))
  :hook
  (after-init . vulpea-db-autosync-mode))

(use-package vino
  :straight (vino
             :type git
             :host github
             :repo "d12frosted/vino")
  :after vulpea
  :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 perform initial database sync when vino is loaded
  (vulpea-db-sync-full-scan 'force))

Required Configuration

While Vino works out-of-the-box in most scenarios, a few essential configurations ensure proper functionality:

  • Vulpea v2 Configuration: Configure vulpea-db-location and vulpea-db-sync-directories, then enable vulpea-db-autosync-mode. See the setup examples above for details.
  • Unique Note IDs: Every note must have a unique ID. Vulpea handles this automatically when creating notes.
  • Proper Tagging: Notes must be tagged appropriately for Vino to identify them. See the Setting Tags guide for instructions.
  • Rating Configuration: Configure vino-rating-props to define how you rate wines. See the Rating Configuration guide for detailed instructions and examples.

Pre-Flight Checklist

Before using Vino, verify that:

  • Vulpea v2 is installed and configured
  • vulpea-db-location points to your database file
  • vulpea-db-sync-directories includes the directory containing your notes
  • vulpea-db-autosync-mode is enabled
  • vino-rating-props is configured
  • You've called vino-setup
  • (Optional) You've performed an initial database sync: (vulpea-db-sync-full-scan 'force)

Beyond these required settings, Vino offers numerous optional configurations to customize your experience. Explore the Configuration section to learn more.

Clone this wiki locally