mirror of https://cgit.krebsco.de/nix-writers
commit
0660cc1a11
4 changed files with 145 additions and 0 deletions
@ -0,0 +1,27 @@ |
||||
let |
||||
pkgs = import <nixpkgs> {}; |
||||
|
||||
hello_worlds = import examples/hello_world.nix; |
||||
simples = import examples/simple.nix; |
||||
|
||||
writeTest = expectedValue: test: pkgs.writeScript "test" '' |
||||
#!/bin/sh |
||||
if test "$(${test})" != "${expectedValue}"; then |
||||
echo 'test ${test} failed' |
||||
exit 1 |
||||
fi |
||||
''; |
||||
|
||||
in |
||||
pkgs.lib.mapAttrs' (n: v: pkgs.lib.nameValuePair "hello_${n}" (writeTest "hello world" v)) hello_worlds // |
||||
pkgs.lib.mapAttrs' (n: v: pkgs.lib.nameValuePair "simple_${n}" v) { |
||||
bash = writeTest "bash features" simples.bash; |
||||
dash = writeTest "dash features" simples.dash; |
||||
haskell = writeTest "Rolf" simples.haskell; |
||||
js = writeTest "function add(n,d){return n+d}" simples.js; |
||||
perl = writeTest "Howdy!" simples.perl; |
||||
python2 = writeTest "['some', 'random', 'variables']" simples.python2; |
||||
python3 = writeTest "['some', 'random', 'variables']" simples.python3; |
||||
sed = writeTest "hello world" simples.sed; |
||||
} |
||||
|
||||
@ -0,0 +1,36 @@ |
||||
let |
||||
pkgs = import <nixpkgs> { overlays = [ (import ../pkgs) ]; }; |
||||
in { |
||||
bash = pkgs.writeBash "hello-world" '' |
||||
echo 'hello world' |
||||
''; |
||||
c = pkgs.writeC "hello-world" {} '' |
||||
#include <stdio.h> |
||||
int main() { |
||||
printf("hello world\n"); |
||||
return 0; |
||||
} |
||||
''; |
||||
dash = pkgs.writeDash "hello-world" '' |
||||
echo 'hello world' |
||||
''; |
||||
haskell = pkgs.writeHaskell "hello-world" [] '' |
||||
main = do |
||||
putStrLn "hello world" |
||||
''; |
||||
js = pkgs.writeJS "hello-world" {} '' |
||||
console.log("hello world") |
||||
''; |
||||
perl = pkgs.writePerl "hello-world" {} '' |
||||
print "hello world\n"; |
||||
''; |
||||
python2 = pkgs.writePython2 "hello-world" {} '' |
||||
print "hello world" |
||||
''; |
||||
python3 = pkgs.writePython3 "hello-world" {} '' |
||||
print("hello world") |
||||
''; |
||||
sed = pkgs.writeDash "sed-example" '' |
||||
echo xxx | ${pkgs.writeSed "hello-world" "s/xxx/hello world/"} |
||||
''; |
||||
} |
||||
@ -0,0 +1,48 @@ |
||||
let |
||||
pkgs = import <nixpkgs> { overlays = [ (import ../pkgs) ]; }; |
||||
in { |
||||
bash = pkgs.writeBash "simple.sh" '' |
||||
if [[ "test" == "test" ]]; then echo "bash features"; fi |
||||
''; |
||||
# cc -L/nix/store/...blah/lib -I/nix/store/...blah/include |
||||
dash = pkgs.writeDash "simple" '' |
||||
test '~' = '~' && echo 'dash features' |
||||
''; |
||||
haskell = pkgs.writeHaskell "simple" [ "acme-cuteboy" ] '' |
||||
import Acme.CuteBoy |
||||
|
||||
main :: IO () |
||||
main = print Rolf |
||||
''; |
||||
js = pkgs.writeJS "example-js" { deps = [ 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); |
||||
''; |
||||
perl = pkgs.writePerl "simple.pl" { deps = [ pkgs.perlPackages.boolean ]; } '' |
||||
use boolean; |
||||
print "Howdy!\n" if true; |
||||
''; |
||||
python2 = pkgs.writePython2 "simple.py" { deps = [ pkgs.python2Packages.pyyaml ]; } '' |
||||
import yaml |
||||
|
||||
print yaml.load(""" |
||||
- some |
||||
- random |
||||
- variables |
||||
""") |
||||
''; |
||||
python3 = pkgs.writePython3 "simple.py" { deps = [ pkgs.python3Packages.pyyaml ]; } '' |
||||
import yaml |
||||
|
||||
print(yaml.load(""" |
||||
- some |
||||
- random |
||||
- variables |
||||
""")) |
||||
''; |
||||
sed = pkgs.writeDash "sed-example" '' |
||||
echo hello | ${pkgs.writeSed "hello-world" "s/hello/& world/"} |
||||
''; |
||||
} |
||||
Loading…
Reference in new issue