I have an rpm package prebuilt by a third party and have to install it into my Guix server machine. So how can I install an rpm package into a Guix machine?
Thanks.
Short answer: You can't. There is no documented way to convert your rpm packages to one managed by Guix, and no "API" that could deal with those packages.
Also, there is no way to install without conversion of RPM packages inside GuixSD or NIX.
Your best beat here is to extract rpm contents inside a RPM based distribution, and repack it outside the package tree. You will have to deal with dependencies and other hell related to this conversion. Good luck.
guix or nix. I would assume that some devops may need rpm/deb packages sooner or later, and the dependencies of those packages would possibly hard to find. Guix instead of Debian or Red Hat is a hell of a learning curve you will face :) I haven't tried installing a foreign distribution RPM package on Guix System, and would advise against it on your main system (it may lead to breakage), but if it's just for testing purpose, it's entirely possible:
# Setup RPM required directories. # mkdir /var/lib/rpm # chown root:users /var/run/rpm # chmod g+rw /var/run/rpm # Generate a test RPM package. $ guix shell rpm [env]$ rpm_package=$(guix pack -f rpm -R -S /usr/bin/hello=bin/hello hello hello) # Install it with RPM. [env]$ sudo -E rpm -i --prefix=/opt $rpm_package # Validate its installation. [env]$ rpm -q hello hello-2.12.1-0.x86_64 [env]$ file /opt/usr/bin/hello /opt/usr/bin/hello: symbolic link to ../../gnu/store/hccgf4lpfy2dwwmglmhsyr83yywzxhbr-profile/bin/hello [env]$ /opt/usr/bin/hello Hello, world! See https://guix.gnu.org/en/manual/devel/en/html_node/Invoking-guix-pack.html#Invoking-guix-pack for more information about the guix pack command which was used to generate the hello test RPM package.