diff --git a/contents/index_main.html b/contents/index_main.html
index 9c85d70..aa9cfe3 100644
--- a/contents/index_main.html
+++ b/contents/index_main.html
@@ -113,5 +113,23 @@
貢献に興味がある方はこちら
+
diff --git a/flake.lock b/flake.lock
index 2306ad7..2175b6e 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,21 +1,5 @@
{
"nodes": {
- "flake-compat": {
- "flake": false,
- "locked": {
- "lastModified": 1747046372,
- "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
- "owner": "edolstra",
- "repo": "flake-compat",
- "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
- "type": "github"
- },
- "original": {
- "owner": "edolstra",
- "repo": "flake-compat",
- "type": "github"
- }
- },
"flake-utils": {
"inputs": {
"systems": "systems"
@@ -34,47 +18,13 @@
"type": "github"
}
},
- "flake-utils_2": {
- "inputs": {
- "systems": "systems_2"
- },
- "locked": {
- "lastModified": 1731533236,
- "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
- "type": "github"
- },
- "original": {
- "owner": "numtide",
- "repo": "flake-utils",
- "type": "github"
- }
- },
- "mirage-opam-overlays": {
- "flake": false,
- "locked": {
- "lastModified": 1710922379,
- "narHash": "sha256-j4QREQDUf8oHOX7qg6wAOupgsNQoYlufxoPrgagD+pY=",
- "owner": "dune-universe",
- "repo": "mirage-opam-overlays",
- "rev": "797cb363df3ff763c43c8fbec5cd44de2878757e",
- "type": "github"
- },
- "original": {
- "owner": "dune-universe",
- "repo": "mirage-opam-overlays",
- "type": "github"
- }
- },
"nixpkgs": {
"locked": {
- "lastModified": 1762156382,
- "narHash": "sha256-Yg7Ag7ov5+36jEFC1DaZh/12SEXo6OO3/8rqADRxiqs=",
+ "lastModified": 1777918403,
+ "narHash": "sha256-7QiZv0LcW1yIOLo2LNuCQjWon1Z1r99FwK24hbtBOF4=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "7241bcbb4f099a66aafca120d37c65e8dda32717",
+ "rev": "afc5551119aae6eab73a95c1960891cfe63204f6",
"type": "github"
},
"original": {
@@ -84,105 +34,10 @@
"type": "github"
}
},
- "nixpkgs_2": {
- "locked": {
- "lastModified": 1751792365,
- "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
- "owner": "nixos",
- "repo": "nixpkgs",
- "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
- "type": "github"
- },
- "original": {
- "owner": "nixos",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "opam-nix": {
- "inputs": {
- "flake-compat": "flake-compat",
- "flake-utils": "flake-utils_2",
- "mirage-opam-overlays": "mirage-opam-overlays",
- "nixpkgs": "nixpkgs_2",
- "opam-overlays": "opam-overlays",
- "opam-repository": "opam-repository",
- "opam2json": "opam2json"
- },
- "locked": {
- "lastModified": 1761712082,
- "narHash": "sha256-lUvmiyj7uCmDitSMW11J4OUC/MeKHrWG8gsy8naMMRM=",
- "owner": "tweag",
- "repo": "opam-nix",
- "rev": "f59a622906dfe1139a5386008cf7dd8dac958afa",
- "type": "github"
- },
- "original": {
- "owner": "tweag",
- "repo": "opam-nix",
- "type": "github"
- }
- },
- "opam-overlays": {
- "flake": false,
- "locked": {
- "lastModified": 1741116009,
- "narHash": "sha256-Z0PIW82fHJFvAv/JYpAffnp2DaOjLhsPutqyIrORZd0=",
- "owner": "dune-universe",
- "repo": "opam-overlays",
- "rev": "e031bb64e33bf93be963e9a38b28962e6e14381f",
- "type": "github"
- },
- "original": {
- "owner": "dune-universe",
- "repo": "opam-overlays",
- "type": "github"
- }
- },
- "opam-repository": {
- "flake": false,
- "locked": {
- "lastModified": 1759971927,
- "narHash": "sha256-aUZWd0KOpEnioBwqlwRU40rUFAqT3RTlojXt2oI3omY=",
- "owner": "ocaml",
- "repo": "opam-repository",
- "rev": "551314ad1550478ec6be39bb0eaadd2569190464",
- "type": "github"
- },
- "original": {
- "owner": "ocaml",
- "repo": "opam-repository",
- "type": "github"
- }
- },
- "opam2json": {
- "inputs": {
- "nixpkgs": [
- "opam-nix",
- "nixpkgs"
- ],
- "systems": "systems_3"
- },
- "locked": {
- "lastModified": 1749457947,
- "narHash": "sha256-+QVm+HOYikF3wUhqSIV8qJbE/feSG+p48fgxIosbHS0=",
- "owner": "tweag",
- "repo": "opam2json",
- "rev": "0ecd66fc2bfb25d910522c990dd36412259eac1f",
- "type": "github"
- },
- "original": {
- "owner": "tweag",
- "repo": "opam2json",
- "type": "github"
- }
- },
"root": {
"inputs": {
"flake-utils": "flake-utils",
- "nixpkgs": "nixpkgs",
- "opam-nix": "opam-nix"
+ "nixpkgs": "nixpkgs"
}
},
"systems": {
@@ -199,36 +54,6 @@
"repo": "default",
"type": "github"
}
- },
- "systems_2": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
- },
- "systems_3": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
}
},
"root": "root",
diff --git a/flake.nix b/flake.nix
index 80aedea..8c60cf7 100644
--- a/flake.nix
+++ b/flake.nix
@@ -2,56 +2,37 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
- opam-nix.url = "github:tweag/opam-nix";
};
- outputs = { flake-utils, nixpkgs, opam-nix, ... }:
- flake-utils.lib.eachDefaultSystem (system:
+ outputs =
+ { flake-utils, nixpkgs, ... }:
+ flake-utils.lib.eachDefaultSystem (
+ system:
let
pkgs = nixpkgs.legacyPackages.${system};
- on = opam-nix.lib.${system};
- src = ./.;
- localNames = with builtins;
- let
- files = attrNames (readDir src);
- opam_files = map (match "(.*)\.opam$") files;
- non_nulls = filter (f: !isNull f);
- in
- map (f: elemAt f 0) (non_nulls opam_files);
-
- localPackagesQuery = with builtins;
- listToAttrs (map (p: { name = p; value = "*"; }) localNames);
-
- devPackagesQuery = {
- ocaml-base-compiler = "*";
- ocaml-lsp-server = "*";
- ocamlformat = "*";
- };
-
- query = devPackagesQuery // localPackagesQuery;
-
- localPackages =
- on.buildOpamProject'
- {
- inherit pkgs;
- resolveArgs = { with-test = false; with-doc = false; };
- pinDepends = true;
- }
- src
- query;
-
- devPackages = builtins.attrValues
- (pkgs.lib.getAttrs (builtins.attrNames devPackagesQuery) localPackages);
+ dune = pkgs.dune_3.overrideAttrs (_: rec {
+ version = "3.22.0";
+ src = pkgs.fetchurl {
+ url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz";
+ hash = "sha256-y4FrLmcspsbqaAEz8BKHvZWljKYRy0dqz/Z7itus9yI=";
+ };
+ });
in
{
- legacyPackages = pkgs;
+ devShells.default = pkgs.mkShell {
+ buildInputs = with pkgs; [
+ dune
+ pkg-config
+ nil
+ nixpkgs-fmt
+ ];
- devShells.default =
- pkgs.mkShell {
- inputsFrom = builtins.map (p: localPackages.${p}) localNames;
- buildInputs = with pkgs; [
- nil nixpkgs-fmt
- ] ++ devPackages;
- };
- });
+ shellHook = ''
+ if [ -f dune-project ]; then
+ eval "$(dune tool env 2>/dev/null)" || true
+ fi
+ '';
+ };
+ }
+ );
}