You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I wanted to let you know that bonfacekilz and I packaged the main/core abjad suite for GNU Guix:
Bonface and I originally worked on packaging abjad 3.3 and I subsequently upgraded the package to 3.4 and packaged abjad-ext-nauert and abjad-ext-rmakers.
Guix is a universal functional package manager and environment manager.
That is, Guix works across all GNU/Linux distros and is able to install software written in all programming languages. If your language is not supported then Guix can be extended to include a build system tailored to your programming language's build system. Guix is not necessarily a replacement for pip. Instead it wraps pip in a purely functional envronment in which all dependencies can be accounted for and built in a reproducible manner.
Guix can provision containers and virtual machines.
Guix allows users to declare complete software environments and instantiate them.
Guix provides profiles, which are like
a kind of universal ‘virtualenv’ that can hold any kind of software whatsoever, not just Python software Furthermore, profiles are self-sufficient: they capture all the runtime dependencies which guarantees that all programs within a profile will always work at any point in time.
If a user would like to start a reproducible software environment with abjad, abjad-ext-nauert, and abjad-ext-rmakers they can run the following command with guix:
guix environment abjad abjad-ext-nauert abjad-ext-rmakers --ad-hoc bpython lilypond timidity++
The above environment also contains end-user software such as a bpython repl, lilypond, and timidity.
To produce a docker image with abjad and a few packages, including vim and the vim airline plugin a user can do the folllowing:
guix pack --format=docker abjad abjad-ext-nauert abjad-ext-rmakers bpython lilypond evince vim vim-airline
To produce a debian package archive (.deb) the following can be run:
guix pack --format=deb abjad abjad-ext-nauert abjad-ext-rmakers bpython lilypond vim vim-airline
To install abjad and abjad-rmakers to your default profile a user can run the following:
guix install abjad abjad-rmakers
To get package information such as project home page, list of dependencies, etc... about the abjad package a user can run the following:
guix show abjad
To see the guile source code for the abjad guix package definition a user can run the following:
guix edit abjad
To get abjad's package DAG, a user can run the following:
guix graph abjad | dot -Tpdf > dag.pdf
Packages and their dependencies form a graph, specifically a directed acyclic graph (DAG). It can quickly become difficult to have a mental model of the package DAG, so the guix graph command provides a visual representation of the DAG.
Guix offers a nice alternative to virtualenv for linux users.
As of the latest stable debian release, guix can be installed as simply as:
Guix is the official package manager of a GNU/Linux distribution called Guix System and is therefore installed by default.
If any abjad user/developer finds the time to test abjad and libraries with guix I would love to hear feedback on the experience and how it compares with using virtualenv.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi abjad community,
I wanted to let you know that bonfacekilz and I packaged the main/core abjad suite for GNU Guix:
Bonface and I originally worked on packaging abjad
3.3
and I subsequently upgraded the package to3.4
and packagedabjad-ext-nauert
andabjad-ext-rmakers
.https://issues.guix.gnu.org/50998
A short intro to Guix follows:
Guix is a lot of things.
Guix is a universal functional package manager and environment manager.
That is, Guix works across all GNU/Linux distros and is able to install software written in all programming languages. If your language is not supported then Guix can be extended to include a build system tailored to your programming language's build system. Guix is not necessarily a replacement for pip. Instead it wraps pip in a purely functional envronment in which all dependencies can be accounted for and built in a reproducible manner.
Guix can provision containers and virtual machines.
Guix is implemented in Guile.
Guix allows users to declare complete software environments and instantiate them.
Guix provides profiles, which are like
a kind of universal ‘virtualenv’ that can hold any kind of software whatsoever, not just Python software Furthermore, profiles are self-sufficient: they capture all the runtime dependencies which guarantees that all programs within a profile will always work at any point in time.
The above quote is taken from the Guix cookbook.
If a user would like to start a reproducible software environment with
abjad
,abjad-ext-nauert
, andabjad-ext-rmakers
they can run the following command with guix:guix environment abjad abjad-ext-nauert abjad-ext-rmakers --ad-hoc bpython lilypond timidity++
The above environment also contains end-user software such as a bpython repl, lilypond, and timidity.
The same command but in an isolated container:
guix environment --container abjad abjad-ext-nauert abjad-ext-rmakers --ad-hoc bpython lilypond timidity++
The following command shows how to spawn a container with network access and abjad dependencies.
Additionally, we automatically drop into a
bpython
repl with a graphical display available on local display 0 for viewing pdfs:To produce a docker image with abjad and a few packages, including vim and the vim airline plugin a user can do the folllowing:
guix pack --format=docker abjad abjad-ext-nauert abjad-ext-rmakers bpython lilypond evince vim vim-airline
To produce a debian package archive (.deb) the following can be run:
guix pack --format=deb abjad abjad-ext-nauert abjad-ext-rmakers bpython lilypond vim vim-airline
To install
abjad
andabjad-rmakers
to your default profile a user can run the following:guix install abjad abjad-rmakers
To get package information such as project home page, list of dependencies, etc... about the abjad package a user can run the following:
guix show abjad
To see the guile source code for the abjad guix package definition a user can run the following:
guix edit abjad
To get abjad's package DAG, a user can run the following:
guix graph abjad | dot -Tpdf > dag.pdf
Guix offers a nice alternative to virtualenv for linux users.
As of the latest stable debian release, guix can be installed as simply as:
sudo apt install guix
On other linux distros, guix can be installed from the installation script.
Guix is the official package manager of a GNU/Linux distribution called Guix System and is therefore installed by default.
If any abjad user/developer finds the time to test abjad and libraries with guix I would love to hear feedback on the experience and how it compares with using virtualenv.
Beta Was this translation helpful? Give feedback.
All reactions