Nix és haskell első ülése

Ok, ahogy már megértette, nincs telepítés egyszerű volt, az új szimbolikus linkeket a profilom.

Megyünk vissza a projekt. Átadom a párbeszédet az ármány init. a szokásos módon, így egy egyszerű proektiki:

Nem függőségek, kivéve a bázis. nem hasznos munkát, de „hello” vonal kimenet. Minden szabványos és primitív.

Nix-ifikatsiya

És most kezdődik a móka. Nézzük, hogy mi program Nix-csomagot. De először meg kell dönteni a feltételeket.

Amikor arról beszélünk, Nix-csomag, ez nem ugyanaz, mint hogy például a deb -Package. Mint azt már emlékszik, Nix alapul, tisztán funkcionális megközelítés csomagkezelő. De még ennél is fontosabb, Nix - ez egy speciális programozási nyelv! És amikor arról beszélünk létre Nix-csomagot, hogy valóban írt egy kis programot a Nix nyelvet. Ennek eredménye az a kis program lesz a csomag! Ez arról szól, hogyan Hakyll. építeni egy statikus oldal, meg kell írni egy programot Haskell, az eredmény amelynek végrehajtása lesz a honlapunkon.

A nagyon kis program nyelvén Nix, amelyre jövőnket csomagot kell tartani default.nix fájl kerül kialakításra. Szigorúan véve, a fájl neve eltérő lehet, de alapértelmezés szerint várható, hogy a neve.

Ok, de hogyan tudjuk írni? Igen, itt és írd be:

Eddig csak másolja a tartalmat default.nix fájlt. Szándékosan nem derül ki a fájl tartalmát, mert ez a téma megér egy későbbi cikkben. Csak figyelni, hogy a parancs cabal2nix. ez az, amit szükséges volt telepítés cabal2nix. Mi már említettük.

Most, hogy van egy program, hogy Nix nyelv, meg kell építeni és futtatni. De mivel Nix nem összeállított nyelv kéne adni azt a bemenetére nix-build csapat - és a feladat. Íme:

Vegye figyelembe, hogy .nix fájlnév nem telt el, a parancs világosan. Ezért volt szükség, hogy hívja őt default.nix. nix-build parancs megkeresi a fájlt az aktuális könyvtárban egy ilyen nevet.

Lehet kérdezni, miért van szükségünk --dry távon. Ez - egy vakpróba, semmi valóban nem épít, hanem csak arról, hogy mi fog történni az építkezés során. És ő meg fogja mutatni:

Amire szükségünk van! Amikor ezt a parancsot az igazi, része lesz a proektiki / nix / store /. mint az összes többi csomagot! Tegyük meg ezt:

Az összeállítás befejeződött, az utolsó sorban pedig ez: