{"id":21082227,"url":"https://github.com/olsonpm/lilyvm","last_synced_at":"2025-05-16T09:31:36.993Z","repository":{"id":41224327,"uuid":"48626578","full_name":"olsonpm/lilyvm","owner":"olsonpm","description":null,"archived":false,"fork":false,"pushed_at":"2023-05-09T00:52:38.000Z","size":133,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-06-19T03:02:56.409Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/olsonpm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-12-26T23:24:31.000Z","updated_at":"2023-05-09T00:46:39.000Z","dependencies_parsed_at":"2024-01-06T10:15:23.285Z","dependency_job_id":"59e78902-2e27-44dc-abc2-af696e830afb","html_url":"https://github.com/olsonpm/lilyvm","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olsonpm%2Flilyvm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olsonpm%2Flilyvm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olsonpm%2Flilyvm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olsonpm%2Flilyvm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olsonpm","download_url":"https://codeload.github.com/olsonpm/lilyvm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225419585,"owners_count":17471434,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T20:13:11.153Z","updated_at":"2024-11-19T20:13:15.580Z","avatar_url":"https://github.com/olsonpm.png","language":"Shell","funding_links":[],"categories":["Music Notation"],"sub_categories":[],"readme":"# Lilypond Version Manager\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n## Table Of Contents\n\n- [About](#about)\n- [Constraints](#constraints)\n- [Install](#install)\n- [Use](#use)\n- [Test](#test)\n- [Todo](#todo)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## About\n\nLilyvm is a command-line program meant to ease your use of multiple lilypond versions.\nI wrote it in order to enable dynamic versions when running  [lilybin](http://lilybin.com/) locally\n(my fork is currently under development)\n\nThe below documentation is mostly just copy/paste from the CLI since everything\nshould be self explanatory.  If you have any questions on how to use it, that means\nI didn't do my job of making it easy enough - so please file a github issue.\n\n\n## Constraints\nI wrote lilyvm with portability in mind by adhering to POSIX standards, but currently lilyvm is only available on the Linux kernel with machine names of i686 and x86_64\n(both found via `uname`).  I chose this constraint due to my unfamiliarity\nwith different architectures and not wanting to test a variety unless necessary.  So\nif you find yourself wanting to use lilyvm on an unsupported kernel or machine\n(uname nomenclature), then please file a github issue and we'll figure it out from there.\n\n\n## Install\n```\n# into your home directory\ncurl -s https://raw.githubusercontent.com/olsonpm/lilyvm/latest/dist/install.sh | sh\n\n# creates ~/.lilyvm\n```\n\n```\n# into a directory of your choice\ncurl -s https://raw.githubusercontent.com/olsonpm/lilyvm/latest/dist/install.sh \\\n | sh -s -- --install-dir /path/to/dir\n\n# creates /path/to/dir/.lilyvm\n```\n\nUpon finishing, the script will instruct you to modify your shell initialization\nscript by adding\n```\nexport PATH=\"\u003cinstall dir\u003e/.lilyvm/bin:${PATH}\" # Adds lilyvm to your path\n```\n\n\n## Use\n```\n$ lilyvm --help\nDescription: A version manager for lilypond\n\nUsage: lilyvm [options] \u003ccommand\u003e\nOptions\n  -h|--help          print this\n  -v|--version       print version of lilyvm\n\nCommands\n  disable-colors     disable colors in terminal output - this preference is persisted\n  enable-colors      enable colors in terminal output - this preference is persisted\n  install            install a version of lilypond\n  ls                 list installed versions of lilypond\n  ls-remote          list hosted versions of lilypond available for install\n  uninstall          uninstall a version of lilypond\n  uninstall-lilyvm   uninstall lilyvm\n  update             update lilyvm to the latest version\n  use                set lilypond version for shell use\n  using              show current lilypond version\n\nTo get help for a command, type lilyvm \u003ccommand\u003e --help\n```\n\nYou will mostly be installing versions of lilypond.  When you install your first\nversion of lilypond, its bin directory contents are symlinked to lilyvm's, making it\navailable on your path.  Upon changing versions, the new version's bin directory\ncontents then become available.  This makes your life easier.\n```\n$ lilyvm ls-remote\n\n* = currently installed\n\n2.8.8-1\n2.10.0-2\n2.10.33-1\n2.12.0-1\n2.12.3-1\n2.14.0-1\n2.14.2-1\n2.16.0-1\n2.16.1-1\n2.16.2-1\n2.18.0-1\n2.18.1-1\n2.18.2-1\n\n$ lilyvm install -v 2.18.2-1\n\nDownloading install script\n######################################################################## 100.0%\n\nInstall script executed\n\nLilypond version 2.18.2-1 was successfully installed\n\nSince this is your first install, the current version is now set to this one.\n  Should you decide to install more versions, you may change your current version\n  via lilyvm use \u003cversion\u003e\n```\n\nAnd you should now have access to lilypond\n```\n$ which lilypond\n/\u003cinstall dir\u003e/.lilyvm/bin/lilypond\n\n$ lilypond --version\nGNU LilyPond 2.18.2\n\nCopyright (c) 1996--2012 by\n  Han-Wen Nienhuys \u003chanwen@xs4all.nl\u003e\n  Jan Nieuwenhuizen \u003cjanneke@gnu.org\u003e\n  and others.\n\nThis program is free software.  It is covered by the GNU General Public\nLicense and you are welcome to change it and/or distribute copies of it\nunder certain conditions.  Invoke as `lilypond --warranty' for more\ninformation.\n```\n\nboom\n\n## Test\n\nKeep in mind there are three install tests - each installing a version of lilypond.\nThe download and installation of a lilypond version takes time.\n\n```\ngit clone git@github.com:olsonpm/lilyvm.git\ncd lilyvm\nchmod +x ./run-all-tests.sh\n./run-all-tests.sh\n```\n\n## Todo\nI only intend on working on these if people find lilyvm useful.  The current\nfeatures are likely more than what I need for personal use.\n - Look into command-line test libraries for more thorough and simpler testing\n - Install only the files needed instead of the result of github's archive\n - Add rc files for per-project lilypond version management\n - Look into a build tool for release management\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folsonpm%2Flilyvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folsonpm%2Flilyvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folsonpm%2Flilyvm/lists"}