-
-
Notifications
You must be signed in to change notification settings - Fork 1
Home
🍷 It's your cellar, your dear cantina 🍷
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.
Vino is not currently available on MELPA. You can install it manually using package managers like straight or quelpa.
Vino requires Vulpea v2 as a dependency. After installing both packages, initialize Vino by calling vino-setup.
Follow these steps to install with straight:
-
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)
-
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)
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))While Vino works out-of-the-box in most scenarios, a few essential configurations ensure proper functionality:
-
Vulpea v2 Configuration: Configure
vulpea-db-locationandvulpea-db-sync-directories, then enablevulpea-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-propsto define how you rate wines. See the Rating Configuration guide for detailed instructions and examples.
Before using Vino, verify that:
- Vulpea v2 is installed and configured
-
vulpea-db-locationpoints to your database file -
vulpea-db-sync-directoriesincludes the directory containing your notes -
vulpea-db-autosync-modeis enabled -
vino-rating-propsis 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.