|
35 | 35 | (flake-utils.lib.eachDefaultSystem (system:
|
36 | 36 | let
|
37 | 37 |
|
38 |
| - # The current default sdk for macOS fails to compile go projects, so we use a newer one for now. |
39 |
| - # This has no effect on other platforms. |
40 |
| - callPackage = pkgs.darwin.apple_sdk_11_0.callPackage or pkgs.callPackage; |
41 |
| - |
42 | 38 | pkgs = import nixpkgs {
|
43 | 39 | inherit system;
|
44 | 40 | overlays = [
|
|
48 | 44 | ];
|
49 | 45 | };
|
50 | 46 |
|
| 47 | + # The current default sdk for macOS fails to compile go projects, so we use a newer one for now. |
| 48 | + # This has no effect on other platforms. |
| 49 | + callPackage = pkgs.darwin.apple_sdk_11_0.callPackage or pkgs.callPackage; |
| 50 | + |
| 51 | + p2prcDefault = callPackage ./. { }; |
| 52 | + |
51 | 53 | in
|
52 | 54 | {
|
53 |
| - |
54 |
| - packages.default = callPackage ./. { }; |
| 55 | + packages.default = p2prcDefault; |
55 | 56 |
|
56 | 57 | devShells.default = pkgs.mkShell {
|
57 | 58 | buildInputs = with pkgs; [
|
|
70 | 71 | ghc
|
71 | 72 | cabal2nix
|
72 | 73 | cabal-install
|
73 |
| - nix |
74 | 74 | git
|
| 75 | + p2prcDefault |
75 | 76 | ];
|
76 | 77 | text =
|
| 78 | + let |
| 79 | + # TODO: add |
| 80 | + p2prcMainContent = availablePort: availableUrl: |
| 81 | + '' |
| 82 | + module Main where |
| 83 | +
|
| 84 | + import P2PRC |
| 85 | + ( runP2PRC |
| 86 | + , MapPortRequest(MkMapPortRequest) |
| 87 | + ) |
| 88 | +
|
| 89 | + main :: IO () |
| 90 | + main = |
| 91 | + runP2PRC |
| 92 | + ( MkMapPortRequest ${availablePort} "${availableUrl}.akilan.io" |
| 93 | + ) |
| 94 | + ''; |
| 95 | + |
| 96 | + mainFileContent = p2prcMainContent 8080 "haskell"; |
| 97 | + in |
77 | 98 | ''
|
78 | 99 | clear
|
79 | 100 | if [ "$#" -eq 0 ]; then
|
|
96 | 117 |
|
97 | 118 | sed -i 's/base.*$/base, p2prc/' "$PROJECT_DIR".cabal
|
98 | 119 |
|
| 120 | + cat ${mainFileContent} > app/main.hs |
| 121 | +
|
99 | 122 | cabal2nix . > ./cabal.nix;
|
100 | 123 | cabal2nix . --shell > shell.nix
|
101 | 124 |
|
|
104 | 127 |
|
105 | 128 | echo -e "run the following commands to finish nix development and production environment:\n\n"
|
106 | 129 |
|
107 |
| - echo -e "cd $PROJECT_DIR\n" |
| 130 | + echo -e "cd $PROJECT_DIR" |
108 | 131 | echo -e "nix flake init -t github:akilan1999/p2p-rendering-computation#haskell"
|
109 | 132 | echo -e "nix develop"
|
110 | 133 | echo -e "nix run"
|
|
0 commit comments