diff options
author | Profpatsch <mail@profpatsch.de> | 2023-01-06T17·42+0100 |
---|---|---|
committer | Profpatsch <mail@profpatsch.de> | 2023-01-06T18·12+0000 |
commit | 37883389bc2a436c71dc62323db8748e6e2ad670 (patch) | |
tree | 627a6874bd2d99c18ad274208087e5fa3065d2a5 /users | |
parent | 396fdde0c054fde0a2169ba029ffb3e575627af6 (diff) |
feat(users/Profpatsch): add writeHaskellInteractive r/5618
Instead of compiling the module, run it in interpreted mode. Saves on linking times and can probably be driven to do cooler things in the future, like calling functions directly via an environment variable or something. Change-Id: I9c835005462cdd86055fb7702630a44f78c36107 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7781 Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
Diffstat (limited to 'users')
-rw-r--r-- | users/Profpatsch/mailbox-org/default.nix | 3 | ||||
-rw-r--r-- | users/Profpatsch/writers/default.nix | 12 |
2 files changed, 14 insertions, 1 deletions
diff --git a/users/Profpatsch/mailbox-org/default.nix b/users/Profpatsch/mailbox-org/default.nix index bb8082bd4c80..217fd498e5cc 100644 --- a/users/Profpatsch/mailbox-org/default.nix +++ b/users/Profpatsch/mailbox-org/default.nix @@ -1,7 +1,8 @@ { depot, pkgs, lib, ... }: let - cas-serve = pkgs.writers.writeHaskell "mailbox-org" + + cas-serve = depot.users.Profpatsch.writers.writeHaskellInteractive "mailbox-org" { libraries = [ depot.users.Profpatsch.my-prelude diff --git a/users/Profpatsch/writers/default.nix b/users/Profpatsch/writers/default.nix index 0e8ad9635662..9fb69231a143 100644 --- a/users/Profpatsch/writers/default.nix +++ b/users/Profpatsch/writers/default.nix @@ -99,10 +99,22 @@ let }; + ghcBins = libraries: depot.nix.getBins (pkgs.ghc.withPackages (_: libraries)) [ "runghc" ]; + + writeHaskellInteractive = name: { libraries, ghcArgs ? [ ] }: path: + depot.nix.writeExecline name { } ([ + (ghcBins libraries).runghc + "--" + ] ++ ghcArgs ++ [ + "--" + path + ]); + in { inherit python3 python3Lib + writeHaskellInteractive ; } |