-
-
Notifications
You must be signed in to change notification settings - Fork 80
/
flake.nix
45 lines (43 loc) · 1.08 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
{
description = "Rule-based double-entry bookkeeping importer (from Alipay/WeChat/Huobi to Beancount)";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = {
self,
nixpkgs,
flake-utils,
...
}:
flake-utils.lib.eachDefaultSystem
(
system: let
pkgs = import nixpkgs {
inherit system;
};
buildDeps = with pkgs; [git go_1_19 gnumake];
devDeps = with pkgs;
buildDeps
++ [
golangci-lint
];
in rec {
# `nix develop`
devShell = pkgs.mkShell {buildInputs = devDeps;};
checks = {
format =
pkgs.runCommand "check-format"
{
buildInputs = with pkgs; [
nixpkgs-fmt
golangci-lint
];
} ''
${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt ${./.}
${pkgs.golangci-lint}/bin/golangci-lint run --fix --timeout 10m ${./.}
'';
};
}
);
}