-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflake.nix
85 lines (81 loc) · 2.66 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
{
description = "takeokunn's blog";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs";
nur-packages.url = "github:takeokunn/nur-packages";
};
outputs = { self, nixpkgs, nur-packages }:
let
systems = [
"x86_64-linux"
"aarch64-darwin"
];
forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f system);
in
{
devShells = forAllSystems (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
nur-pkgs = nur-packages.legacyPackages.${system};
textlintrc = (pkgs.formats.json { }).generate "textlintrc" {
plugins = {
org = true;
};
rules = {
preset-ja-technical-writing = {
ja-no-weak-phrase = false;
ja-no-mixed-period = false;
no-exclamation-question-mark = false;
sentence-length = false;
no-doubled-joshi = false;
max-kanji-continuous-len = {
max = 8;
};
};
write-good = {
weasel = false;
};
preset-japanese = {
sentence-length = false;
no-doubled-joshi = false;
};
prh = {
rulePaths = [
"${pkgs.textlint-rule-prh}/lib/node_modules/textlint-rule-prh/node_modules/prh/prh-rules/media/WEB+DB_PRESS.yml"
"${pkgs.textlint-rule-prh}/lib/node_modules/textlint-rule-prh/node_modules/prh/prh-rules/media/techbooster.yml"
];
};
};
};
in
{
default = pkgs.mkShell {
packages = with pkgs; [
nodejs
(textlint.withPackages [
textlint-rule-preset-ja-technical-writing
textlint-rule-prh
textlint-rule-write-good
textlint-plugin-org
nur-pkgs.textlint-rule-preset-japanese
])
];
shellHook = ''
[ -f .textlintrc ] && unlink .textlintrc
ln -s ${textlintrc} .textlintrc
'';
};
deploy = pkgs.mkShell {
packages = with pkgs; [
hugo
nur-pkgs.tcardgen
(emacs.pkgs.withPackages (epkgs: (with epkgs.melpaPackages; [
emacsql-sqlite
])))
];
};
}
);
};
}