ocaml
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add nix development environment

Only add lsp, not ocamlformat.

authored by

Kento Okura and committed by
Jon Sterling
f96d8226 2d632050

+42 -42
+1
.envrc
··· 1 + use flake
+10 -27
flake.lock
··· 21 21 "systems": "systems" 22 22 }, 23 23 "locked": { 24 - "lastModified": 1694529238, 25 - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", 24 + "lastModified": 1705309234, 25 + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", 26 26 "owner": "numtide", 27 27 "repo": "flake-utils", 28 - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", 28 + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", 29 29 "type": "github" 30 30 }, 31 31 "original": { ··· 92 92 "opam2json": "opam2json" 93 93 }, 94 94 "locked": { 95 - "lastModified": 1698410402, 96 - "narHash": "sha256-GmNqvLcmCYTai/Pi4R0/UF5NxT8EGG4JJqwvp5/uL+A=", 95 + "lastModified": 1706878465, 96 + "narHash": "sha256-0k0KSkU7epRQshZZKsOpyE79lnwn/0q2VagzDhIeZpE=", 97 97 "owner": "tweag", 98 98 "repo": "opam-nix", 99 - "rev": "4d42f3d5a3161d7100b37c830a848fcf415409d5", 99 + "rev": "9f03f7e0664c369f25e614d3f3be74ea78b647fa", 100 100 "type": "github" 101 101 }, 102 102 "original": { ··· 124 124 "opam-repository": { 125 125 "flake": false, 126 126 "locked": { 127 - "lastModified": 1695894792, 128 - "narHash": "sha256-7Llico807vq14AkqAaDIWogC50xLxU38nuNEH06YNPE=", 127 + "lastModified": 1705008664, 128 + "narHash": "sha256-TTjTal49QK2U0yVOmw6rJhTGYM7tnj3Kv9DiEEiLt7E=", 129 129 "owner": "ocaml", 130 130 "repo": "opam-repository", 131 - "rev": "33fcf32f269ee5af70b31e27442397a0cdaf28b2", 132 - "type": "github" 133 - }, 134 - "original": { 135 - "owner": "ocaml", 136 - "repo": "opam-repository", 137 - "type": "github" 138 - } 139 - }, 140 - "opam-repository_2": { 141 - "flake": false, 142 - "locked": { 143 - "lastModified": 1703856811, 144 - "narHash": "sha256-dE+PZI0N8Hahs+D8GuvYktBGPhW9cyBZGxN6K+n2Y1g=", 145 - "owner": "ocaml", 146 - "repo": "opam-repository", 147 - "rev": "91155d8f7ba41238a91fbffd093e5bb7a532aa0a", 131 + "rev": "fa77046c6497f8ca32926acdb7eb1e61777d4c17", 148 132 "type": "github" 149 133 }, 150 134 "original": { ··· 181 165 "opam-nix", 182 166 "nixpkgs" 183 167 ], 184 - "opam-nix": "opam-nix", 185 - "opam-repository": "opam-repository_2" 168 + "opam-nix": "opam-nix" 186 169 } 187 170 }, 188 171 "systems": {
+31 -15
flake.nix
··· 3 3 opam-nix.url = "github:tweag/opam-nix"; 4 4 flake-utils.url = "github:numtide/flake-utils"; 5 5 nixpkgs.follows = "opam-nix/nixpkgs"; 6 - opam-repository = { 7 - url = "github:ocaml/opam-repository"; 8 - flake = false; 9 - }; 10 6 }; 11 - outputs = { self, flake-utils, opam-nix, nixpkgs, opam-repository }@inputs: 12 - 13 - flake-utils.lib.eachDefaultSystem (system: { 14 - legacyPackages = let 15 - inherit (opam-nix.lib.${system}) buildOpamProject; 16 - scope = 17 - buildOpamProject { repos = [ "${opam-repository}" ]; } "forester" ./. 18 - { }; 19 - in scope; 20 - packages.default = self.legacyPackages.${system}."forester"; 21 - }); 7 + outputs = { self, flake-utils, opam-nix, nixpkgs }@inputs: 8 + let package = "forester"; 9 + in flake-utils.lib.eachDefaultSystem (system: 10 + let 11 + pkgs = nixpkgs.legacyPackages.${system}; 12 + on = opam-nix.lib.${system}; 13 + devPackagesQuery = { 14 + ocaml-base-compiler = "5.1.1"; 15 + ocaml-lsp-server = "*"; 16 + }; 17 + query = devPackagesQuery // { }; 18 + scope = on.buildOpamProject' { } ./. query; 19 + overlay = final: prev: { 20 + ${package} = prev.${package}.overrideAttrs (_: { 21 + doNixSupport = false; 22 + }); 23 + }; 24 + scope' = scope.overrideScope' overlay; 25 + main = scope'.${package}; 26 + devPackages = builtins.attrValues 27 + (pkgs.lib.getAttrs (builtins.attrNames devPackagesQuery) scope'); 28 + in { 29 + legacyPackages = scope'; 30 + packages.default = main; 31 + devShells.default = pkgs.mkShell { 32 + inputsFrom = [ main ]; 33 + buildInputs = devPackages ++ [ 34 + pkgs.texlive.combined.scheme-full 35 + ]; 36 + }; 37 + }); 22 38 }