Nixpkgs/Building RPM DEB with nixpkgs: Difference between revisions

imported>Das-g
spell out what is supposedly meant by "the curl->sh"
imported>Sikmir
No edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 20: Line 20:
The host machine has to be prepared for the build process.
The host machine has to be prepared for the build process.


In the setting the author of this article used, the host machine was a CentOS 7 amd64 machine running in vmware.
In the evaluation for this article, a CentOS 7 amd64 machine running in vmware was used.
On the machine, the nix package manager was installed via <code><nowiki>curl https://nixos.org/nix/install | sh</nowiki></code> as suggested on https://nixos.org/nix/ > "Get Nix".
On the machine, the nix package manager was installed via <code><nowiki>curl https://nixos.org/nix/install | sh</nowiki></code> as suggested on https://nixos.org/nix/ > "Get Nix".


Line 34: Line 34:
== How to build a deb/rpm with nixpkgs ==
== How to build a deb/rpm with nixpkgs ==


The author used a simple approach:
The following approach can be used to try out building a <code>.deb</code> package with nixpkgs:


1. Clone the official nixpkgs repository into <code>~/nixpkgs</code>
# Clone the official nixpkgs repository into <code>~/nixpkgs</code>
2. Add a file to the nixpkgs repository <code>./deb.nix</code> with the following contents:
# Add a file to the nixpkgs repository <code>./deb.nix</code> with the following contents:


(In this scenario, ncurses was built for testing the whole approach)
(In this scenario, ncurses was built for testing the whole approach)
Line 47: Line 47:
   args = {
   args = {
     diskImage = vm;
     diskImage = vm;
    diskImageFormat = "qcow2";
     src      = pkgs.ncurses.src;
     src      = pkgs.ncurses.src;
     name      = "ncurses-deb";
     name      = "ncurses-deb";