diff options
Diffstat (limited to 'pkgs/profpatsch')
-rw-r--r-- | pkgs/profpatsch/default.nix | 6 | ||||
-rw-r--r-- | pkgs/profpatsch/execline/nixecline.nix | 16 | ||||
-rw-r--r-- | pkgs/profpatsch/nix-tools.nix | 18 |
3 files changed, 40 insertions, 0 deletions
diff --git a/pkgs/profpatsch/default.nix b/pkgs/profpatsch/default.nix index 0c37387a..e3c65803 100644 --- a/pkgs/profpatsch/default.nix +++ b/pkgs/profpatsch/default.nix @@ -169,6 +169,8 @@ in rec { writeExecline writeExeclineBin; inherit (import ./execline/runblock.nix { inherit pkgs; }) runblock; + inherit (import ./execline/nixecline.nix { inherit writeExecline; }) + backtick; inherit (import ./execline/e.nix { inherit pkgs writeExecline getBins; }) e; @@ -193,6 +195,10 @@ in rec { importas-if ; + inherit (import ./nix-tools.nix { inherit pkgs getBins writeExecline runblock backtick; }) + nix-run + ; + easy-dhall-nix = (import (pkgs.fetchFromGitHub { owner = "justinwoo"; diff --git a/pkgs/profpatsch/execline/nixecline.nix b/pkgs/profpatsch/execline/nixecline.nix new file mode 100644 index 00000000..518bce2e --- /dev/null +++ b/pkgs/profpatsch/execline/nixecline.nix @@ -0,0 +1,16 @@ +# wrappers around execline commands ensuring sane default behaviours +{ writeExecline }: + +let + backtick = { + var, + cmd, + importVar ? [ "importas" "-ui" var var ] + }: writeExecline "nix-backtick" {} + ([ "backtick" "-in" var cmd ] + ++ importVar + ++ [ "$@" ]); + +in { + inherit backtick; +} diff --git a/pkgs/profpatsch/nix-tools.nix b/pkgs/profpatsch/nix-tools.nix new file mode 100644 index 00000000..9b6eb339 --- /dev/null +++ b/pkgs/profpatsch/nix-tools.nix @@ -0,0 +1,18 @@ +{ pkgs, writeExecline, backtick, runblock, getBins }: + +let + bins = getBins pkgs.nix [ "nix-build" ]; + + nix-run = writeExecline "nix-run" { argMode = "env"; } [ + (backtick { + var = "storepath"; + cmd = [ runblock "1" bins.nix-build ]; + }) + runblock "-r" "2" "exec" "$storepath" + ]; + +in { + inherit + nix-run + ; +} |