2 description = "A universal interpreter front-end";
5 nixpkgs.url = "github:nixos/nixpkgs/nixos-22.11";
6 flake-utils.url = "github:numtide/flake-utils";
9 outputs = { self, nixpkgs, flake-utils }:
11 overlays.default = final: prev: {
12 prybar = prev.lib.recurseIntoAttrs {
13 inherit (self.packages.${prev.system})
14 prybar-R prybar-clojure prybar-elisp prybar-julia prybar-lua prybar-nodejs
15 prybar-ocaml prybar-python2 prybar-python3 prybar-python310 prybar-ruby
16 prybar-scala prybar-sqlite prybar-tcl;
20 flake-utils.lib.eachDefaultSystem (system:
22 pkgs = nixpkgs.legacyPackages.${system};
24 rev = if self ? rev then
25 "0.0.0-${builtins.substring 0 7 self.rev}"
30 pkgs.callPackage (import ./build-prybar.nix attrs) { inherit rev; };
32 julia = import ./languages/julia/julia.nix { inherit pkgs; };
35 import ./languages/clojure/wrappedClojure.nix { inherit pkgs; };
37 python310Full = pkgs.python310.override {
39 pythonAttr = "python310Full";
44 ocaml = pkgs.ocaml-ng.ocamlPackages_4_12.ocaml;
46 findlib = pkgs.ocaml-ng.ocamlPackages_4_12.findlib;
47 topkg = pkgs.ocaml-ng.ocamlPackages_4_12.topkg;
48 reason = pkgs.ocaml-ng.ocamlPackages_4_12.reason;
52 prybar-R = buildPrybar {
54 buildInputs = [ pkgs.R ];
59 prybar-nodejs = buildPrybar {
61 binaries = [ pkgs.nodejs-16_x ];
64 prybar-python2 = buildPrybar {
66 buildInputs = [ pkgs.python2 ];
69 prybar-python3 = buildPrybar {
71 buildInputs = [ pkgs.libxcrypt pkgs.python38Full ];
74 prybar-python310 = buildPrybar {
75 language = "python310";
76 buildInputs = [ pkgs.libxcrypt python310Full ];
79 prybar-lua = buildPrybar {
81 buildInputs = [ pkgs.lua5_1 pkgs.readline ];
84 prybar-clojure = buildPrybar {
86 buildInputs = [ clojureWithCP ];
87 binaries = [ pkgs.jdk11_headless ];
90 prybar-elisp = buildPrybar { language = "elisp"; };
92 prybar-ocaml = buildPrybar {
94 # This has to be in the build inputs so it set-ups the library paths before the check phase
95 # It will not be copied over to the final package.
105 prybar-scala = buildPrybar { language = "scala"; };
107 prybar-sqlite = buildPrybar {
109 binaries = [ pkgs.sqlite ];
112 prybar-tcl = buildPrybar {
114 buildInputs = [ pkgs.tcl ];
117 # These packages have issues on macOS
118 // nixpkgs.lib.optionalAttrs (!pkgs.stdenv.isDarwin) {
119 prybar-julia = buildPrybar {
121 buildInputs = [ julia ];
123 binaries = [ pkgs.zlib ];
126 # The official Ruby packages is running ruby 2.7
127 prybar-ruby = buildPrybar {
129 buildInputs = [ pkgs.ruby ];
130 pkgName = "ruby-2.7";
137 devShells.default = pkgs.mkShell {
138 nativeBuildInputs = [
165 export CGO_LDFLAGS_ALLOW="-Wl,--compress-debug-sections=zlib"
166 export DISABLE_GO_TESTS=1
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list