···
1
1
+
.*
2
2
+
!.gitignore
3
3
+
result*/
···
1
1
+
{
2
2
+
"nodes": {
3
3
+
"flake-compat": {
4
4
+
"flake": false,
5
5
+
"locked": {
6
6
+
"lastModified": 1696426674,
7
7
+
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
8
8
+
"owner": "edolstra",
9
9
+
"repo": "flake-compat",
10
10
+
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
11
11
+
"type": "github"
12
12
+
},
13
13
+
"original": {
14
14
+
"owner": "edolstra",
15
15
+
"repo": "flake-compat",
16
16
+
"type": "github"
17
17
+
}
18
18
+
},
19
19
+
"flake-compat_2": {
20
20
+
"flake": false,
21
21
+
"locked": {
22
22
+
"lastModified": 1696426674,
23
23
+
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
24
24
+
"owner": "edolstra",
25
25
+
"repo": "flake-compat",
26
26
+
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
27
27
+
"type": "github"
28
28
+
},
29
29
+
"original": {
30
30
+
"owner": "edolstra",
31
31
+
"repo": "flake-compat",
32
32
+
"type": "github"
33
33
+
}
34
34
+
},
35
35
+
"flake-parts": {
36
36
+
"inputs": {
37
37
+
"nixpkgs-lib": "nixpkgs-lib"
38
38
+
},
39
39
+
"locked": {
40
40
+
"lastModified": 1736143030,
41
41
+
"narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
42
42
+
"owner": "hercules-ci",
43
43
+
"repo": "flake-parts",
44
44
+
"rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
45
45
+
"type": "github"
46
46
+
},
47
47
+
"original": {
48
48
+
"owner": "hercules-ci",
49
49
+
"repo": "flake-parts",
50
50
+
"type": "github"
51
51
+
}
52
52
+
},
53
53
+
"git-hooks": {
54
54
+
"inputs": {
55
55
+
"flake-compat": "flake-compat",
56
56
+
"gitignore": "gitignore",
57
57
+
"nixpkgs": [
58
58
+
"nixpkgs"
59
59
+
]
60
60
+
},
61
61
+
"locked": {
62
62
+
"lastModified": 1735882644,
63
63
+
"narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=",
64
64
+
"owner": "cachix",
65
65
+
"repo": "git-hooks.nix",
66
66
+
"rev": "a5a961387e75ae44cc20f0a57ae463da5e959656",
67
67
+
"type": "github"
68
68
+
},
69
69
+
"original": {
70
70
+
"owner": "cachix",
71
71
+
"repo": "git-hooks.nix",
72
72
+
"type": "github"
73
73
+
}
74
74
+
},
75
75
+
"gitignore": {
76
76
+
"inputs": {
77
77
+
"nixpkgs": [
78
78
+
"git-hooks",
79
79
+
"nixpkgs"
80
80
+
]
81
81
+
},
82
82
+
"locked": {
83
83
+
"lastModified": 1709087332,
84
84
+
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
85
85
+
"owner": "hercules-ci",
86
86
+
"repo": "gitignore.nix",
87
87
+
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
88
88
+
"type": "github"
89
89
+
},
90
90
+
"original": {
91
91
+
"owner": "hercules-ci",
92
92
+
"repo": "gitignore.nix",
93
93
+
"type": "github"
94
94
+
}
95
95
+
},
96
96
+
"make-shell": {
97
97
+
"inputs": {
98
98
+
"flake-compat": "flake-compat_2"
99
99
+
},
100
100
+
"locked": {
101
101
+
"lastModified": 1733933815,
102
102
+
"narHash": "sha256-9JjM7eT66W4NJAXpGUsdyAFXhBxFWR2Z9LZwUa7Hli0=",
103
103
+
"owner": "nicknovitski",
104
104
+
"repo": "make-shell",
105
105
+
"rev": "ffeceae9956df03571ea8e96ef77c2924f13a63c",
106
106
+
"type": "github"
107
107
+
},
108
108
+
"original": {
109
109
+
"owner": "nicknovitski",
110
110
+
"repo": "make-shell",
111
111
+
"type": "github"
112
112
+
}
113
113
+
},
114
114
+
"nixpkgs": {
115
115
+
"locked": {
116
116
+
"lastModified": 1735412871,
117
117
+
"narHash": "sha256-Qoz0ow6jDGUIBHxduc7Y1cjYFS71tvEGJV5Src/mj98=",
118
118
+
"owner": "nixos",
119
119
+
"repo": "nixpkgs",
120
120
+
"rev": "9f94733f93e4fe6e82f516efae007096e4ab5a21",
121
121
+
"type": "github"
122
122
+
},
123
123
+
"original": {
124
124
+
"owner": "nixos",
125
125
+
"ref": "nixos-24.11",
126
126
+
"repo": "nixpkgs",
127
127
+
"type": "github"
128
128
+
}
129
129
+
},
130
130
+
"nixpkgs-lib": {
131
131
+
"locked": {
132
132
+
"lastModified": 1735774519,
133
133
+
"narHash": "sha256-CewEm1o2eVAnoqb6Ml+Qi9Gg/EfNAxbRx1lANGVyoLI=",
134
134
+
"type": "tarball",
135
135
+
"url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz"
136
136
+
},
137
137
+
"original": {
138
138
+
"type": "tarball",
139
139
+
"url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz"
140
140
+
}
141
141
+
},
142
142
+
"root": {
143
143
+
"inputs": {
144
144
+
"flake-parts": "flake-parts",
145
145
+
"git-hooks": "git-hooks",
146
146
+
"make-shell": "make-shell",
147
147
+
"nixpkgs": "nixpkgs",
148
148
+
"treefmt-nix": "treefmt-nix"
149
149
+
}
150
150
+
},
151
151
+
"treefmt-nix": {
152
152
+
"inputs": {
153
153
+
"nixpkgs": [
154
154
+
"nixpkgs"
155
155
+
]
156
156
+
},
157
157
+
"locked": {
158
158
+
"lastModified": 1736154270,
159
159
+
"narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=",
160
160
+
"owner": "numtide",
161
161
+
"repo": "treefmt-nix",
162
162
+
"rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b",
163
163
+
"type": "github"
164
164
+
},
165
165
+
"original": {
166
166
+
"owner": "numtide",
167
167
+
"repo": "treefmt-nix",
168
168
+
"type": "github"
169
169
+
}
170
170
+
}
171
171
+
},
172
172
+
"root": "root",
173
173
+
"version": 7
174
174
+
}
···
1
1
+
{
2
2
+
description = "Packages for Linux on WebAssembly";
3
3
+
4
4
+
inputs = {
5
5
+
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
6
6
+
flake-parts.url = "github:hercules-ci/flake-parts";
7
7
+
8
8
+
# repo meta:
9
9
+
# keep-sorted start block=yes
10
10
+
git-hooks = {
11
11
+
url = "github:cachix/git-hooks.nix";
12
12
+
inputs.nixpkgs.follows = "nixpkgs";
13
13
+
};
14
14
+
make-shell = {
15
15
+
url = "github:nicknovitski/make-shell";
16
16
+
};
17
17
+
treefmt-nix = {
18
18
+
url = "github:numtide/treefmt-nix";
19
19
+
inputs.nixpkgs.follows = "nixpkgs";
20
20
+
};
21
21
+
# keep-sorted end
22
22
+
};
23
23
+
outputs =
24
24
+
inputs:
25
25
+
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
26
26
+
imports = [
27
27
+
# keep-sorted start
28
28
+
./flake/format.nix
29
29
+
./flake/git-hooks.nix
30
30
+
./flake/shell.nix
31
31
+
# keep-sorted end
32
32
+
];
33
33
+
34
34
+
systems = [
35
35
+
"x86_64-linux"
36
36
+
"aarch64-linux"
37
37
+
"x86_64-darwin"
38
38
+
"aarch64-darwin"
39
39
+
];
40
40
+
};
41
41
+
}
···
1
1
+
{ inputs, ... }:
2
2
+
{
3
3
+
imports = [ inputs.treefmt-nix.flakeModule ];
4
4
+
5
5
+
perSystem =
6
6
+
{ config, ... }:
7
7
+
{
8
8
+
treefmt = {
9
9
+
projectRootFile = "flake.nix";
10
10
+
settings = {
11
11
+
global.excludes = [ ];
12
12
+
};
13
13
+
programs = {
14
14
+
# keep-sorted start
15
15
+
actionlint.enable = true;
16
16
+
deadnix.enable = true;
17
17
+
keep-sorted.enable = true;
18
18
+
nixfmt.enable = true;
19
19
+
shellcheck.enable = true;
20
20
+
shfmt.enable = true;
21
21
+
statix.enable = true;
22
22
+
# keep-sorted end
23
23
+
};
24
24
+
};
25
25
+
26
26
+
make-shells.default.packages = [ config.treefmt.build.wrapper ];
27
27
+
};
28
28
+
}
···
1
1
+
{ inputs, ... }:
2
2
+
{
3
3
+
imports = [ inputs.git-hooks.flakeModule ];
4
4
+
5
5
+
perSystem =
6
6
+
{ config, ... }:
7
7
+
{
8
8
+
pre-commit.settings.hooks.treefmt = {
9
9
+
enable = true;
10
10
+
packageOverrides.treefmt = config.treefmt.build.wrapper;
11
11
+
};
12
12
+
13
13
+
make-shells.default.shellHook = config.pre-commit.installationScript;
14
14
+
};
15
15
+
}
···
1
1
+
{ inputs, ... }:
2
2
+
{
3
3
+
imports = [ inputs.make-shell.flakeModules.default ];
4
4
+
5
5
+
# perSystem =
6
6
+
# { pkgs, ... }:
7
7
+
# {
8
8
+
# make-shells.default = {
9
9
+
# packages = with pkgs; [
10
10
+
# # keep-sorted start
11
11
+
# # keep-sorted end
12
12
+
# ];
13
13
+
# };
14
14
+
# };
15
15
+
}
···
1
1
+
{
2
2
+
projectRootFile = "flake.nix";
3
3
+
4
4
+
# keep-sorted start
5
5
+
programs.keep-sorted.enable = true;
6
6
+
programs.nixfmt.enable = true;
7
7
+
# keep-sorted end
8
8
+
}