Add flake.nix

This commit is contained in:
2026-04-07 16:21:51 +09:00
parent 1a4ebd0dcd
commit aee22b6b52
3 changed files with 143 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
result
result-*

26
flake.lock generated Normal file
View File

@@ -0,0 +1,26 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1775423009,
"narHash": "sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "68d8aa3d661f0e6bd5862291b5bb263b2a6595c9",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-unstable",
"type": "indirect"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

115
flake.nix Normal file
View File

@@ -0,0 +1,115 @@
{
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
};
outputs = { self, nixpkgs }: let
inherit (nixpkgs) lib;
systems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
"armv7l-linux"
];
forAllSystems = f: lib.genAttrs systems (system: f system nixpkgs.legacyPackages.${system});
in {
packages = let
edrdgMetadata = {
license = [{
shortName = "EDRDG";
fullName = "Electronic Dictionary Research and Development Group General Dictionary Licence";
url = "http://www.csse.monash.edu.au/~jwb/edrdg/licence.html";
}];
maintainers = [ lib.maintainers.h7x4 ];
platforms = lib.platforms.all;
};
in forAllSystems (system: pkgs: {
jmdict = pkgs.stdenvNoCC.mkDerivation {
pname = "jmdict";
version = lib.fileContents ./jmdict/version.txt;
dontUnpack = true;
dontBuild = true;
installPhase = ''
runHook preInstall
install -Dm644 -t "$out" ${./jmdict/jmdict.xml}
runHook postInstall
'';
meta = edrdgMetadata // {
description = "A Japanese-Multilingual Dictionary providing lexical data for japanese words";
homepage = "https://www.edrdg.org/jmdict/j_jmdict.html";
};
};
kanjidic2 = pkgs.stdenvNoCC.mkDerivation {
pname = "kanjidic2";
version = lib.fileContents ./kanjidic2/version.txt;
dontUnpack = true;
dontBuild = true;
installPhase = ''
runHook preInstall
install -Dm644 -t "$out" ${./kanjidic2/kanjidic2.xml}
runHook postInstall
'';
meta = edrdgMetadata // {
description = "A consolidated XML-format kanji database";
homepage = "https://www.edrdg.org/kanjidic/kanjd2index_legacy.html";
};
};
radkfile = pkgs.stdenvNoCC.mkDerivation {
pname = "radkfile";
version = lib.fileContents ./radkfile/version.txt;
dontUnpack = true;
dontBuild = true;
installPhase = ''
runHook preInstall
install -Dm644 -t "$out" ${./radkfile/radkfile}
runHook postInstall
'';
meta = edrdgMetadata // {
description = "A file providing searchable decompositions of kanji characters";
homepage = "https://www.edrdg.org/krad/kradinf.html";
};
};
tanos-jlpt = pkgs.stdenvNoCC.mkDerivation {
pname = "tanos-jlpt";
version = "2011";
dontUnpack = true;
dontBuild = true;
installPhase = ''
runHook preInstall
for f in ${./tanos-jlpt}/*.csv; do
install -Dm644 -t "$out" "$f"
done
runHook postInstall
'';
meta = {
description = "A CSV file containing JLPT-rated Japanese vocabulary";
homepage = "https://www.tanos.co.uk/jlpt/";
license = lib.licenses.cc-by-40;
maintainers = [ lib.maintainers.h7x4 ];
platforms = lib.platforms.all;
};
};
});
};
}