Nix-writers: Difference between revisions
imported>Lassulus Add nix-writers skeleton |
imported>Lassulus No edit summary |
||
Line 20: | Line 20: | ||
<syntaxHighlight lang=nix> | <syntaxHighlight lang=nix> | ||
pkgs.writers.writeC "hello-world-ncurses" { libraries = [ pkgs.ncurses ]; } '' | pkgs.writers.writeC "hello-world-ncurses" { | ||
libraries = [ pkgs.ncurses ]; | |||
} '' | |||
#include <ncurses.h> | #include <ncurses.h> | ||
int main() { | int main() { | ||
Line 41: | Line 43: | ||
===Haskell=== | ===Haskell=== | ||
<syntaxHighlight lang=nix> | |||
writeHaskell "missiles" { | |||
libraries = [ pkgs.haskellPackages.acme-missiles ]; | |||
} '' | |||
import Acme.Missiles | |||
main = launchMissiles | |||
'' | |||
</syntaxHighlight> | |||
===JavaScript=== | ===JavaScript=== | ||
<syntaxHighlight lang=nix> | |||
writeJS "example" { | |||
libraries = [ pkgs.nodePackages.uglify-js ]; | |||
} '' | |||
var UglifyJS = require("uglify-js"); | |||
var code = "function add(first, second) { return first + second; }"; | |||
var result = UglifyJS.minify(code); | |||
console.log(result.code); | |||
'' | |||
</syntaxHighlight> | |||
===Perl=== | ===Perl=== | ||
<syntaxHighlight lang=nix> | |||
writePerl "example" { | |||
libraries = [ pkgs.perlPackages.boolean ]; | |||
} '' | |||
use boolean; | |||
print "Howdy!\n" if true; | |||
'' | |||
</syntaxHighlight> | |||
===Python2=== | ===Python2=== | ||
<syntaxHighlight lang=nix> | |||
writePython2 "test_python2" { | |||
libraries = [ pkgs.python2Packages.enum ]; | |||
} '' | |||
from enum import Enum | |||
class Test(Enum): | |||
a = "success" | |||
print Test.a | |||
'' | |||
</syntaxHighlight> | |||
===Python3=== | ===Python3=== | ||
<syntaxHighlight lang=nix> | |||
writePython3 "test_python3" { | |||
libraries = [ pkgs.python3Packages.pyyaml ]; | |||
} '' | |||
import yaml | |||
y = yaml.load(""" | |||
- test: success | |||
""") | |||
print(y[0]['test']) | |||
'' | |||
</syntaxHighlight> |