mirror of https://cgit.krebsco.de/nix-writers
commit
cf9ac094e0
4 changed files with 118 additions and 0 deletions
@ -0,0 +1,26 @@ |
|||||||
|
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; |
||||||
|
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,33 @@ |
|||||||
|
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" |
||||||
|
''; |
||||||
|
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,42 @@ |
|||||||
|
let |
||||||
|
pkgs = import <nixpkgs> { overlays = [ (import ../pkgs) ]; }; |
||||||
|
in { |
||||||
|
bash = pkgs.writeBash "hello-world" '' |
||||||
|
if [[ "test" == "test" ]]; then echo "bash features"; fi |
||||||
|
''; |
||||||
|
# cc -L/nix/store/...blah/lib -I/nix/store/...blah/include |
||||||
|
dash = pkgs.writeDash "hello-world" '' |
||||||
|
test '~' = '~' && echo 'dash features' |
||||||
|
''; |
||||||
|
haskell = pkgs.writeHaskell "hello-world" [ "acme-cuteboy" ] '' |
||||||
|
import Acme.CuteBoy |
||||||
|
|
||||||
|
main :: IO () |
||||||
|
main = print Rolf |
||||||
|
''; |
||||||
|
perl = pkgs.writePerl "simple.pl" { deps = [ pkgs.perlPackages.boolean ]; } '' |
||||||
|
use boolean; |
||||||
|
print "Howdy!\n" if true; |
||||||
|
''; |
||||||
|
python2 = pkgs.writePython2 "hello-world" { deps = [ pkgs.python2Packages.pyyaml ]; } '' |
||||||
|
import yaml |
||||||
|
|
||||||
|
print yaml.load(""" |
||||||
|
- some |
||||||
|
- random |
||||||
|
- variables |
||||||
|
""") |
||||||
|
''; |
||||||
|
python3 = pkgs.writePython3 "hello-world" { 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