diff options
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 86 |
1 files changed, 82 insertions, 4 deletions
@@ -4,6 +4,9 @@ nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; ocaml.url = "github:nix-ocaml/nix-overlays"; ocaml.inputs.nixpkgs.follows = "nixpkgs"; + # it's broken wtf + # lsp.url = "github:ocaml/ocaml-lsp"; + # lsp.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = { @@ -88,6 +91,79 @@ writeShellApplication ; }; + mlx-repo = pkgs.fetchFromGitHub { + owner = "ocaml-mlx"; + repo = "mlx"; + rev = "aa59db58c948f93ab960c63e127f0f5c41d8530c"; + sha256 = "g2v6U4lubYIVKUkU0j+OwtPxK9tKvleuX+vA4ljJ1bA="; + }; + mlx = pkgs.ocamlPackages.buildDunePackage { + pname = "mlx"; + version = "0.9.0"; + src = mlx-repo; + propagatedBuildInputs = with pkgs.ocamlPackages; [ + ppxlib + ocaml-compiler-libs + ]; + }; + ocamlmerlinmlx = pkgs.ocamlPackages.buildDunePackage { + pname = "ocamlmerlin-mlx"; + version = "0.9.0"; + src = mlx-repo; + + nativeBuildInputs = with pkgs.ocamlPackages; [ + cppo + ]; + propagatedBuildInputs = with pkgs.ocamlPackages; [ + ppxlib + merlin-lib + csexp + ]; + }; + # lsp-repo = pkgs.fetchFromGitHub { + # owner = "ocaml"; + # repo = "ocaml-lsp"; + # rev = "4483b5b9cb3c58d09cfd113394f3ced8fea11f50"; + # sha256 = "+h8XzJutCT587XrLg/rC/c7TXsnm84BEtvUj4CfFqaM="; + # }; + # jsonrpc = pkgs.ocamlPackages.buildDunePackage { + # pname = "jsonrpc"; + # version = "1.23.0"; + # src = lsp-repo; + # }; + # lsp = pkgs.ocamlPackages.buildDunePackage { + # pname = "lsp"; + # version = "1.23.0"; + # src = lsp-repo; + # propagatedBuildInputs = with pkgs.ocamlPackages; [ + # yojson + # uutf + # ppx_yojson_conv + # jsonrpc + # ]; + # }; + # ocaml-lsp = pkgs.ocamlPackages.buildDunePackage { + # pname = "ocaml-lsp-server"; + # version = "1.23.0"; + # src = lsp-repo; + # nativeBuildInputs = with pkgs.ocamlPackages; [merlin-lib]; + # propagatedBuildInputs = with pkgs.ocamlPackages; [ + # lsp + # jsonrpc + # stdune + # dune-build-info + # ocamlc-loc + # ocamlformat-rpc-lib + # dune-rpc + # re + # merlin-lib + # spawn + # chrome-trace + # fiber + # camlp-streams + # astring + # ]; + # }; in { devShells.default = pkgs.mkShell rec { packages = [gemini-cli]; @@ -103,10 +179,12 @@ pkgs.opam findlib - ocaml-lsp ocamlformat + # + ocaml-lsp mlx - ocamlmerlin-mlx + ocamlmerlinmlx + # ocamlformat-mlx melange-json-native ppx_rapper @@ -115,8 +193,8 @@ eio_main piaf routes - caqti-dynload - caqti-driver-postgresql + # caqti-dynload + # caqti-driver-postgresql caqti-driver-sqlite3 ppx_expect logs |