blob: d9f15d427b7473379857e31ba6c2e5496651b636 (
plain)
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
|
{
perSystem = {
lib,
pkgs,
config,
self',
...
}: let
enableAll = lib.flip lib.genAttrs (lib.const {enable = true;});
in {
treefmt = {
projectRootFile = "flake.nix";
programs = enableAll [
"alejandra"
"deadnix"
"prettier"
"rustfmt"
];
settings.global = {
excludes = [
"./target"
"./flake.lock"
"./Cargo.lock"
];
};
};
pre-commit.settings = {
settings.treefmt.package = config.treefmt.build.wrapper;
hooks = enableAll [
"actionlint"
"nil"
"statix"
"treefmt"
];
};
procfiles.daemons.processes = {
redis = lib.getExe' pkgs.redis "redis-server";
};
devShells = {
default = pkgs.mkShell {
packages = with pkgs; [
# general
actionlint
nodePackages_latest.prettier
config.procfiles.daemons.package
# rust
cargo
rustc
clippy
rustfmt
rust-analyzer
# nix
self'.formatter
deadnix
nil
statix
];
RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}";
};
};
};
}
|